| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2140 人关注过本帖
标题:用drawRect()画出矩形,如何实现脱拽功能
取消只看楼主 加入收藏
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
 问题点数:0 回复次数:3 
用drawRect()画出矩形,如何实现脱拽功能
本来不想问,但是做了一个多小时都搞不出来,找相关的帖又找不到,只好麻烦下大家了!~
import java.awt.*;
import java.awt.event.*;
public class DrawRect extends Frame
{
private int x,y,width,higth;
public DrawRect(){
setTitle("画图");
setBackground(Color.WHITE);
setSize(400,400);
setVisible(true);
addMouseListener(new
MouseAdapter(){
public void mousePressed(MouseEvent e){
x=e.getX();
y=e.getY();
}
public void mouseReleased(MouseEvent e){
width=e.getX();
higth=e.getY();
}
});
addWindowListener(new
WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(Graphics g){
g.drawRect(x,y,width-x,higth-y);//为什么我这里不可以画出矩形哦??
//g.drawRect(50,50,120,230);
}
public static void main(String[] args)
{
new DrawRect();
}
}
为什么我这样写画不了,更不用说实现脱拽功能 了
还要写些什么函数吗!~那位可以帮我补全下!~
谢谢先!~
搜索更多相关主题的帖子: drawRect 矩形 
2007-03-06 22:57
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
谢谢两位!~
不过新的问题又来了 !~
现在我用swing改过来但是却画不了矩形了!~
还有我想画出脱拽的图象,但是不知道怎么写~!~郁闷啊!~
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DrawRect2 extends JFrame
{
private int startX,startY,endX,endY;
public DrawRect2(){
setTitle("画图");
setBackground(Color.WHITE);
setSize(400,400);
setVisible(true);
addMouseListener(new
MouseAdapter(){
public void mousePressed(MouseEvent e){
startX=e.getX();
startY=e.getY();
}
public void mouseReleased(MouseEvent e){
endX=e.getX();
endY=e.getY();
repaint()
}
});
addMouseMotionListener(new //我想在这里画出脱拽的图象,但是不知道怎么写~~我想应该用多条if-else语句写
MouseMotionAdapter(){
public void mouseDragged(MouseEvent e) {
System.out.println("拖动");

}
public void mouseMoved(MouseEvent e){}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paintComponent(Graphics g){
// super.paintComponent();
g.drawLine(startX,startY,endX,startY);
g.drawLine(startX,endY,endX,endY);
g.drawLine(startX,startY,startX,endY);
g.drawLine(endX,startY,endX,endY);
g.drawRect(startX,startY,Math.abs(endX-startX),Math.abs(endY-startY));
//g.drawRect(50,50,120,230);
}
public static void main(String[] args)
{
new DrawRect2();
}
}

2007-03-07 10:50
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
现在有个问题是连矩形也画不了!~
把swing的paintComponent改为awt的piant方法就没问题了!~
为什么会这样的??
2007-03-07 11:04
qsrock
Rank: 1
等 级:新手上路
帖 子:255
专家分:0
注 册:2005-12-29
收藏
得分:0 
好 的~!~多谢了!~~
2007-03-07 11:13
快速回复:用drawRect()画出矩形,如何实现脱拽功能
数据加载中...
 
   



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

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