| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 699 人关注过本帖
标题:[求助]请教关于AWT绘图问题!!
只看楼主 加入收藏
向着梦想加速
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-9-18
收藏
 问题点数:0 回复次数:4 
[求助]请教关于AWT绘图问题!!

为什么这个程序画了直线后,那条直线不能马上显示,而要对窗口进行放大或缩小时才能看到?
还有如果要想多画几条直线,怎样才能保留原先画的直线?
请指教!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class man extends JFrame
{
int x1,y1,x2,y2;
public man(String str)
{
super(str);
}
public void put(man JF)
{
Container contentPane=JF.getContentPane();
contentPane.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
x1=e.getX();
y1=e.getY();
}
public void mouseReleased(MouseEvent e)
{
x2=e.getX();
y2=e.getY();
}
});
women JP=new women();
contentPane.add(JP);
JF.setSize(600,400);
JF.setLocation(180,180);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JF.setVisible(true);
}
public static void main(String[] args)
{
man JF=new man("菜单窗口");
JF.put(JF);
}
class women extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawLine(x1,y1,x2,y2);
}
}
}

搜索更多相关主题的帖子: AWT import awt 直线 绘图 
2007-11-07 00:11
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
在改了xy座标之后,再调用一下repaint()方法

可惜不是你,陪我到最后
2007-11-07 09:13
向着梦想加速
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-9-18
收藏
得分:0 
回复:(千里冰封)在改了xy座标之后,再调用一下repa...
你好,我还不懂你的意思,能不能再详细一点,xy的坐标要怎样改,谢谢了!!

2007-11-07 22:01
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 

帮你改了,不知道你是不是想实现这样的效果?

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

class man extends JFrame
{
int x1,y1,x2,y2;
public man(String str)
{
super(str);
}
public void put(man JF)
{
women JP=new women();
this.add(JP);
JF.setSize(600,400);
JF.setLocation(180,180);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JF.setVisible(true);
}
public static void main(String[] args)
{
man JF=new man("菜单窗口");
JF.put(JF);
}
class women extends JPanel
{
public women()
{
this.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
x1=e.getX();
y1=e.getY();
repaint();
}
public void mouseReleased(MouseEvent e)
{
x2=e.getX();
y2=e.getY();
repaint();
}

});
}
public void paintComponent(Graphics g)
{
// super.paintComponent(g);
g.drawLine(x1,y1,x2,y2);
}
}
}

2007-11-08 14:30
向着梦想加速
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-9-18
收藏
得分:0 
回复:(netstriker) 帮你改了,不知道你是不是想实...

如果在每次画直线的时候,都能保留先前画的直线,那该怎么实现啊?请赐教!!


2007-11-08 19:13
快速回复:[求助]请教关于AWT绘图问题!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011269 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved