一个关于repaint的问题,请指教

webman2012 2012-07-30 08:14:07
下面这个程序点击“change colors”没有热paint(),请大家看看是怎么回事,谢谢

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SimpleGui3C implements ActionListener {
JFrame frame;


public static void main(String[] args) {
SimpleGui3C gui = new SimpleGui3C();
gui.go();
}

public void go() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton button = new JButton("Change colors");
button.addActionListener(this);

MyDrawPanel3C drawPanel = new MyDrawPanel3C();

frame.getContentPane().add(BorderLayout.SOUTH, button);
frame.getContentPane().add(BorderLayout.CENTER, drawPanel);
frame.setSize(300, 300);
frame.setVisible(true);

}

public void actionPerformed(ActionEvent event) {
frame.repaint();
}
}

class MyDrawPanel3C extends JPanel {
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
GradientPaint gradient = new GradientPaint(70, 70, Color.blue, 150, 150, Color.orange);
g2d.setPaint(gradient);
g2d.fillOval(70, 70, 100, 100);
}
}
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
webman2012 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

repaint重新画的与初始化的图像是一样的.所以你感觉没有被调用!
[/Quote]具体怎么改啊,您随便改一个,给我做一个示范!
Mr_sunboy 2012-07-30
  • 打赏
  • 举报
回复
repaint重新画的与初始化的图像是一样的.所以你感觉没有被调用!

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧