Java 如何实现窗口重绘?

如题,在窗口画一条线,最小化后能重新显示出来,如何修改下面的带码:importjava.awt.*;importjava.awt.event.*;publicclassG... 如题,在窗口画一条线,最小化后能重新显示出来,如何修改下面的带码:

import java.awt.*;
import java.awt.event.*;
public class GUIPaint extends Frame{

/**
* @param args
*/
Frame f = new Frame();
int x;
int y;
int endx;
int endy;

public void paint(Graphics g)
{
g.drawLine(x, y, endx, endy);

}
public static void main(String[] args) {
// TODO Auto-generated method stub
GUIPaint gg = new GUIPaint();
gg.getAdd();

}
public void getAdd()
{
f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new MyListener());
f.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e)
{
x=e.getX();
y=e.getY();
}

public void mouseReleased(MouseEvent e)
{
endx=e.getX();
endy=e.getY();
Graphics p = f.getGraphics();
p.drawString(x+","+y, x, y);
p.drawString(e.getX()+","+e.getY(),e.getX(),e.getY());
p.setColor(Color.BLUE);
p.drawLine(x,y, e.getX(), e.getY());

}

});

}
}

class MyListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
e.getWindow().dispose();
}
}

本人是菜鸟,最好能解释一下,谢谢~
展开
 我来答
百度网友3d7451c
2010-08-28 · 超过17用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:42.8万
展开全部
你要绘制的代码写在paint方法里

在需要绘制的地方调用repaint方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
673745319
2015-09-02 · TA获得超过600个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:104万
展开全部
继承自JFrame使用
this.repaint();方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
409936523
2010-08-28 · 超过18用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:35.2万
展开全部
根据你的题意,改变窗口大小要重绘最简单就是调用repaint,但这个最好要有触发条件,建议加上WindowListener,这个接口中有窗体改变的相应函数,然后在这个函数中加上repaint,而且在这个相应函数中你还可以添加其他的功能,不如改变这条直线的其实位置,要不然很可能在缩小窗口时,你画的直线无法看到,网上有java api.chm这个帮助文档,建议下载,有什么不懂得,可以在其中找详细解释!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式