java中,Graphic类方法中,画图为什么不要指定坐标x,y? 如下代码。
publicclassDrawIconimplementsIcon{//实现Icon接口privateintwidth;//声明图标的宽privateintheight;...
public class DrawIcon implements Icon { // 实现Icon接口
private int width; // 声明图标的宽
private int height; // 声明图标的长
public int getIconHeight() { // 实现getIconHeight()方法
return this.height;
}
public int getIconWidth() { // 实现getIconWidth()方法
return this.width;
}
public DrawIcon(int width, int height) { // 定义构造方法
this.width = width;
this.height = height;
}
// 实现paintIcon()方法
public void paintIcon(Component arg0, Graphics arg1, int x, int y) {
arg1.fillOval(x, y, width, height); // 绘制一个圆形
}
public static void main(String[] args) {
DrawIcon icon = new DrawIcon(15, 15);
// 创建一个标签,并设置标签上的文字在标签正中间
JLabel j = new JLabel("测试",icon, SwingConstants.CENTER);
JFrame jf = new JFrame(); // 创建一个JFrame窗口
Container c = jf.getContentPane();
c.add(j);
jf.setSize(100,100);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
public void paintIcon(Component arg0, Graphics arg1, int x, int y) {
arg1.fillOval(x, y, width, height); // 绘制一个圆形
这里 x和 y坐标都没有指明???????
为什么只要实现Icon接口,重写里面的方法,然后实例化就可以创建图标,??????
这个程序可以直接运行。 展开
private int width; // 声明图标的宽
private int height; // 声明图标的长
public int getIconHeight() { // 实现getIconHeight()方法
return this.height;
}
public int getIconWidth() { // 实现getIconWidth()方法
return this.width;
}
public DrawIcon(int width, int height) { // 定义构造方法
this.width = width;
this.height = height;
}
// 实现paintIcon()方法
public void paintIcon(Component arg0, Graphics arg1, int x, int y) {
arg1.fillOval(x, y, width, height); // 绘制一个圆形
}
public static void main(String[] args) {
DrawIcon icon = new DrawIcon(15, 15);
// 创建一个标签,并设置标签上的文字在标签正中间
JLabel j = new JLabel("测试",icon, SwingConstants.CENTER);
JFrame jf = new JFrame(); // 创建一个JFrame窗口
Container c = jf.getContentPane();
c.add(j);
jf.setSize(100,100);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
public void paintIcon(Component arg0, Graphics arg1, int x, int y) {
arg1.fillOval(x, y, width, height); // 绘制一个圆形
这里 x和 y坐标都没有指明???????
为什么只要实现Icon接口,重写里面的方法,然后实例化就可以创建图标,??????
这个程序可以直接运行。 展开
3个回答
展开全部
指明了呀 arg1.fillOval(x, y, width, height),这里的xy不就是xy坐标吗?至于xy的来源嘛。
public void paintIcon(Component arg0, Graphics arg1, int x, int y) 在这里呀
这说明在主程序呼叫paintIcon这个附程序的时候会从主程序中提取xy用到这里来。
(另:我Java是纯英文学的,有些中文术语估计没用好,不好意思啊)
public void paintIcon(Component arg0, Graphics arg1, int x, int y) 在这里呀
这说明在主程序呼叫paintIcon这个附程序的时候会从主程序中提取xy用到这里来。
(另:我Java是纯英文学的,有些中文术语估计没用好,不好意思啊)
追问
x和y一直没有明确的值啊
追答
我说了,在主程序呼叫paintIcon这个附程序的时候会从主程序中提取xy用到paintIcon这个附程序里来。你主程序也没贴出来。去找找 “paintIcon(a,b,c,d)" 这行用来呼叫,你就能顺藤摸瓜找到x,y了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xy不都有嘛
追问
没确定值啊??
追答
你调试一下就知道了嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询