⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsdesktopevent.java

📁 用JAVA编写的绘图程序 功能简介: 支持存储
💻 JAVA
字号:
package drawsmart.itsv.swing;

import drawsmart.itsv.tool.DSMouseEvent;
import drawsmart.itsv.swing.*;
import java.awt.event.MouseEvent;
import java.awt.*;
import javax.swing.*;
import drawsmart.itsv.framework.*;

/**
 * <p>Title: 绘图桌面事件实现类</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author 崔江
 * @version 2.0
 */

public class DSDesktopEvent extends DSMouseEvent
{
  //基本组件接口
  private JDSComponentface jDSComponent;

  //
  private Point starPoint;

  //
  private Point endPoint;

  //
  private JDSComponentface jDSComponentClone;
  /**
   * 构造器
   * @param desk 桌面接口
   * @param imageIcon 图标
   */
  public DSDesktopEvent(JDSDesktopface desk,JDSComponentface c,ImageIcon imageIcon)
  {
    //
    super(desk);
    //
    jDSComponent=c;
    //设置图标
    setImageIcon(imageIcon);
  }
  /**
  * 鼠标压下事件
  * @param e
  */
 public void mousePressed(MouseEvent e) {
   starPoint = e.getPoint();
   jDSComponentClone = (JDSComponentface)(jDSComponent.cloneComponent());//复制一个做为新创建的组件
   //写入随即值
   //int id=getJDSDesktopface().getRandom();
   //String sID=Integer.toString(id);
   //jDSComponentClone.setComponentID(sID);
   if(!(jDSComponent instanceof DSExtendRectangle))
   {
     //添加到桌面
     getJDSDesktopface().addJDSComponent(jDSComponentClone);

   }
   else if(jDSComponent instanceof DSExtendRectangle)
   {
     getJDSDesktopface().addJDSComponent(jDSComponentClone);
     Component component=(Component)jDSComponentClone;
     component.setLocation(e.getPoint());
     ((Container)getJDSDesktopface()).add(component, null);
   }

 }

 /**
  * 鼠标弹起事件
  * @param e
  */
 public void mouseReleased(MouseEvent e)
 {
   if(jDSComponentClone.getComponentHeight()==0 || jDSComponentClone.getComponentWidth()==0)
   {
     getJDSDesktopface().removeSelectionJDSComponent(jDSComponentClone);
   }
   jDSComponentClone=null;
 }


 /**
  * 鼠标拖拽事件
  * @param e
  */
 public void mouseDragged(MouseEvent e)
 {
   //如果是普通矩形或是圆
   if (!(jDSComponent instanceof DSExtendRectangle))
   {
     if (jDSComponentClone != null)
     {
       if (starPoint != null)
       {
         int x = e.getX(), y = e.getY(), m = starPoint.x, n = starPoint.y;
         int tmp = 0;
         if (x < m) {
           tmp = x;
           x = m;
           m = tmp;
         }
         if (y < n) {
           tmp = y;
           y = n;
           n = tmp;
         }

         //设置矩形的大小

         jDSComponentClone.setCompinentRectangle(m, n, x - m,y - n);

         //刷新桌面
         getJDSDesktopface().repaint();

         //
       }
     }
   }
   //如果是高级矩形
   else if(jDSComponent instanceof DSExtendRectangle)
   {
     if (jDSComponentClone != null)
     {
       if (starPoint != null)
       {
         int x = e.getX(), y = e.getY(), m = starPoint.x, n = starPoint.y;
         int tmp = 0;
         if (x < m) {
           tmp = x;
           x = m;
           m = tmp;
         }
         if (y < n) {
           tmp = y;
           y = n;
           n = tmp;
         }

         //设置矩形的大小
         jDSComponentClone.setCompinentRectangle(m, n, x - m, y - n);

         //刷新桌面
         getJDSDesktopface().repaint();
         //((DSExtendRectangle)jDSComponentClone).repaint();
         //
       }
     }

   }

 }

 /**
  * 返回鼠标样式
  * @return
  */
 public Cursor getCursor() {
   return new Cursor(Cursor.CROSSHAIR_CURSOR);
 }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -