java 为什么线总在改变窗口大小后才显示

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassdrawextendsJFr... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class draw extends JFrame{
int x,y,x1,y1;

public static void main(String[] args) {
new draw().drawing();
}
public void drawing()
{
setSize(500,500);
addMouseListener(new mintor());
setVisible(true);

System.out.print("success");

}

public void paint(Graphics g){
g.drawLine(x, y, x1, y1);
System.out.print("success1");

}

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

public void mouseReleased(MouseEvent e){
x1=e.getX();
y1=e.getY();
}
}
}
展开
 我来答
小屠户
2013-05-02 · TA获得超过383个赞
知道小有建树答主
回答量:329
采纳率:100%
帮助的人:224万
展开全部
在你的paint(Graphics g)方法体里面加入super.paint(g);
改变窗口大小会自动调用repaint方法,repaint的时候自动执行paint方法;所以改变窗口大小会出现你的直线。
你可以在mousePressed(MouseEvent e)跟mouseReleased(MouseEvent e)里面加入repaint();语句就可以了!但是效果可能还不是你想要的,所以你还要用到鼠标移动事件,才可以!不懂的话继续追问!
gegecuicui
2013-05-02 · TA获得超过616个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:495万
展开全部
因为你没有doLayout
layout();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sven910
2013-05-02 · TA获得超过151个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:107万
展开全部
你监听的是鼠标是件,所以在鼠标点击之后才触发绘制的方法。。。是这样吧、?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式