关于JComponent一个问题 JComponent 中有一个paintComponent方法,有木有大神解释一下咋么用?感觉是默认调用的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为一般是extends某component,所以super.paintComponent(g);也可以加上@override,然后自己按需求写。 1、作用:JComponent中的paintComponent方法用于自定义Swing组件时用于绘制该组件。2、调用机制:当Swing框架(例如窗口JFrame)需要重新绘图时,事件处理器会通知组件,引发执行所有组件的 paintComponent方法,该方法自动调用,不需要手动调用。3、代码举例:class DrawComponent extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //draw a rectangle double leftX = 100; double topY = 100; double width = 200; double height = 150; Rectangle2D rect = new Rectangle2D.Double(leftX,topY,width,height); g2.draw(rect); }}上面的代码自定义了一个组件,该组件画了一个矩形;当该组件添加到窗口JFrame中,程序启动绘制窗口时,该组件的paintComponent方法会调用,届时窗口中将绘制一个矩形。 JAVA鼠标移动 Class.forName使用的类加载器是什么? 求spring简单实例,请加注释。 有高手可以帮我写一写,服务器邓注释吗? 求救,一个关于%的问题!(在线等待) 推荐一本学习j2EE的经典书籍吧 奇怪:编译生成了.class文件后,再用javac.编译就出错了 现在无法设置属性??? 怎么JBuilder6 个人版老是叫我输入License???(在线急等) 关于线程 elasticsearch-head安装 Calendar.DAY_OF_MONTH存放什么数据
2、调用机制:当Swing框架(例如窗口JFrame)需要重新绘图时,事件处理器会通知组件,引发执行所有组件的
paintComponent方法,该方法自动调用,不需要手动调用。
3、代码举例:
class DrawComponent extends JComponent {
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
//draw a rectangle
double leftX = 100;
double topY = 100;
double width = 200;
double height = 150;
Rectangle2D rect = new Rectangle2D.Double(leftX,topY,width,height);
g2.draw(rect);
}
}
上面的代码自定义了一个组件,该组件画了一个矩形;当该组件添加到窗口JFrame中,程序启动绘制窗口时,该组件的paintComponent方法会调用,届时窗口中将绘制一个矩形。