| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2157 人关注过本帖
标题:拖动鼠标画虚线矩形
只看楼主 加入收藏
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
收藏
 问题点数:0 回复次数:3 
拖动鼠标画虚线矩形
如题!就象windows那样,虚线随着鼠标拖动改变大小!!
急!
希望大家帮帮忙!
搜索更多相关主题的帖子: 鼠标 虚线 拖动 矩形 windows 
2008-03-18 18:31
nhy520
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2006-5-9
收藏
得分:0 
JS应该好实现

2008-03-19 09:13
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
程序代码:
import java.awt.geom.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
/**
*简单的画图程序
*@author Eastsun
*@version .1
*/
public class DrawPanel extends JFrame{
   LinkedList<Shape> shapeList =new LinkedList<Shape>();
   Shape shape;
   Point start,end;
   final String[] type =new String[]{"Line","Rectangle","Ellipse"};
   JComboBox comboBox =new JComboBox(type);
   public DrawPanel(){
      super("DrawPanel");
      JPanel panel =new JPanel(){
        public void paintComponent(Graphics g){
           super.paintComponent(g);
           Graphics2D g2 =(Graphics2D)g;
           g2.setColor(Color.white);
           g2.fillRect(0,0,getWidth(),getHeight());
           g2.setColor(Color.black);
           for(Shape s:shapeList) g2.draw(s);
           g2.draw(shape);
        }
      };
      panel.addMouseListener(new MouseAdapter(){
        public void mousePressed(MouseEvent e){
           start =e.getPoint();
        }
        public void mouseReleased(MouseEvent e){
           shapeList.add(shape);
        }
      });
      panel.addMouseMotionListener(new MouseMotionAdapter(){
        public void mouseDragged(MouseEvent e){
           end =e.getPoint();
           Object select =comboBox.getSelectedItem();
           if(select.equals(type[0])) shape =new Line2D.Float(start,end);
           else{ 
              if(select.equals(type[1]))  shape =new Rectangle();
              else                shape =new Ellipse2D.Float();
              ((RectangularShape)shape).setFrameFromDiagonal(start,end);
           }
           repaint();
        }
      });
      panel.setPreferredSize(new Dimension(320,240));
      add(panel,BorderLayout.NORTH);
      shape =new Rectangle();
      
      add(comboBox,BorderLayout.SOUTH);
      
      pack();
      setResizable(false);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
      
   }
   public static void main(String[] args){
      new DrawPanel();
   }
}

My BlogClick Me
2008-03-19 14:44
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
收藏
得分:0 
谢谢版主那么帮忙!但是并不是我想要的。
我要的是象我们平时在windows的桌面那样拉动鼠标那样。矩形的线是虚线。我要做的程序是象QQ那样的截图程序!
2008-03-20 22:29
快速回复:拖动鼠标画虚线矩形
数据加载中...
 
   



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

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