📄 dsdesktopevent.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 + -