一个复写paint的问题

wudi221364 2012-06-02 01:48:53
一个类,继承JPanel,复写它的paint(Graphics g)。
给JPanel加一个监听器
public void mouseDragged(MouseEvent e) {
if(paint.tools=="pen")
{
x=e.getX();
y=e.getY();
paint(g);
}
}

x,y都是类的域。
一下为paint方法
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, paint.Width, paint.Height);
g.setColor(Color.black);
System.out.println(x+" "+y);
g.fillRect(x,y,3,3);
}

paint方法可以正常输出监听出的x,y但是就是画不出图形。?何解?
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqfddqr 2012-06-03
  • 打赏
  • 举报
回复
public void mouseDragged(MouseEvent e) {
if(paint.tools=="pen")
{
x=e.getX();
y=e.getY();
paint(g);
}
}

就是把这个的paint(g); 改成repaint();
sai123q 2012-06-03
  • 打赏
  • 举报
回复
repaint();

RDroid 2012-06-02
  • 打赏
  • 举报
回复
绘制函数只应该在绘制时被调用,比如UI线程的回调,或者是自己操作一块缓存时,而不能在其它地方直接调用。否则很可能没有任何效果
jlu_lamp_lamp 2012-06-02
  • 打赏
  • 举报
回复
你是连续拖动,paint只是画一下,划线你需要用repaint去刷新
你把paint(g)改成repaint();试一下

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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