📄 dsmenubar.java
字号:
package drawsmart.itsv.menuber;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import drawsmart.itsv.tool.GetResource;
import javax.swing.JColorChooser;
import drawsmart.itsv.framework.JDSExtendDesktopface;
import drawsmart.itsv.FrameSwing;
import drawsmart.itsv.framework.JDSXMLReadWriteface;
import drawsmart.itsv.image.SaveFileAsImg;
import drawsmart.itsv.framework.JDSComponentface;
import drawsmart.itsv.framework.JDSLineface;
import java.awt.event.*;
import drawsmart.itsv.tool.GetResource;
import javax.swing.JOptionPane;
import java.util.zip.*;
/**
* <p>Title: 工程菜单类</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class DSMenuBar extends JMenuBar implements ActionListener
{
// 文件菜单项
private JMenuItem newItem, openItem, closeItem,
saveItem, saveAsItem, printItem,
exportItem, inputItem,aboutItem;
//设置菜单项
private JMenuItem setColorLine,setColorCompone,setLineWidth;
//远程菜单
private JMenuItem saveRemote,selectRemote,saveAsRemote;
//编辑菜单项
private JMenuItem copyItem,delItem,selectAllItem;
private JMenuItem unItem,reItem;
private JMenu fileMenu = new JMenu("文件");
private JMenu editMenu=new JMenu("编辑");
private JMenu setupMenu=new JMenu("设置");
private JMenu textMenu=new JMenu("文本");
private JMenu windowMenu=new JMenu("窗口");
private JMenu remoteMenu=new JMenu("远程");
private JMenu helpMenu=new JMenu("帮助");
private JFileChooser files;
private JFileChooser files1;
private Font myFont=new Font("宋体",12,12);
//文件选择器
private FileChooserFilter select1 = null;
private FileChooserFilter select3 = null;
private FileChooserFilter select = null;
//桌面的高级接口
JDSExtendDesktopface jDSExtendDesktopface;
//
FrameSwing frameSwing;
//换行符
String newline=System.getProperty("line.separator");
//生成XML文档
String encoding=GetResource.getXMLResource("encoding");
//XML接口
JDSXMLReadWriteface jDSXMLReadWriteface;
//保存的文件
File saveFile=null;
public DSMenuBar(JDSExtendDesktopface jDSExtendDesktopface,FrameSwing frameSwing,JDSXMLReadWriteface jDSXMLReadWriteface)
{
this(jDSExtendDesktopface,frameSwing,jDSXMLReadWriteface,null);
}
public DSMenuBar(JDSExtendDesktopface jDSExtendDesktopface,FrameSwing frameSwing,JDSXMLReadWriteface jDSXMLReadWriteface,File saveFile)
{
this.jDSExtendDesktopface=jDSExtendDesktopface;
this.frameSwing=frameSwing;
this.jDSXMLReadWriteface=jDSXMLReadWriteface;
this.saveFile=saveFile;
//文件选择器
select1 = new FileChooserFilter("*.jpg", "jpg");
select3 = new FileChooserFilter("*.png", "png");
select = new FileChooserFilter("*.edr", "edr");
files=new JFileChooser();
files1=new JFileChooser();
/**
* 定义文件菜单
*/
newItem = fileMenu.add("新建流程");
newItem.setFont(myFont);
//ImageIcon newicon=new ImageIcon(getClass().getResource("/images/newobj.gif"));
ImageIcon newicon=GetResource.getImage("newobj.gif");
newItem.setIcon(newicon);
openItem = fileMenu.add("打开流程");
openItem.setFont(myFont);
//ImageIcon openicon=new ImageIcon(getClass().getResource("/images/opendrw.gif"));
ImageIcon openicon=GetResource.getImage("opendrw.gif");
openItem.setIcon(openicon);
saveItem = fileMenu.add("保存流程");
saveItem.setFont(myFont);
//ImageIcon saveicon=new ImageIcon(getClass().getResource("/images/savedrw.gif"));
ImageIcon saveicon=GetResource.getImage("savedrw.gif");
saveItem.setIcon(saveicon);
//添加分割线
fileMenu.addSeparator();
saveAsItem = fileMenu.add("另存流程");
saveAsItem.setFont(myFont);
//ImageIcon saveAsicon=new ImageIcon(getClass().getResource("/images/savedrw.gif"));
ImageIcon saveAsicon=GetResource.getImage("savedrw.gif");
saveAsItem.setIcon(saveAsicon);
/**
printItem=fileMenu.add("打印");
printItem.setFont(myFont);
ImageIcon printicon=new ImageIcon(getClass().getResource("/images/print.gif"));
printItem.setIcon(printicon);
**/
//添加分割线
fileMenu.addSeparator();
exportItem =fileMenu.add("导出...");
exportItem.setFont(myFont);
//ImageIcon exporticon=new ImageIcon(getClass().getResource("/images/export.gif"));
ImageIcon exporticon=GetResource.getImage("export.gif");
exportItem.setIcon(exporticon);
/*
inputItem=fileMenu.add(" 导入...");
inputItem.setFont(myFont);
//ImageIcon inputicon=new ImageIcon(getClass().getResource("/images/savedrw.gif"));
//inputItem.setIcon(inputicon);
*/
closeItem = fileMenu.add("关闭流程");
closeItem.setFont(myFont);
//ImageIcon closeicon=new ImageIcon(getClass().getResource("/images/mainclose.gif"));
ImageIcon closeicon=GetResource.getImage("mainclose.gif");
closeItem.setIcon(closeicon);
fileMenu.setFont(myFont);
editMenu.setFont(myFont);
setupMenu.setFont(myFont);
textMenu.setFont(myFont);
remoteMenu.setFont(myFont);
windowMenu.setFont(myFont);
helpMenu.setFont(myFont);
//添加设置菜单项
setColorLine = setupMenu.add("设置组件边框颜色");
setColorLine.setFont(myFont);
ImageIcon coloricon=GetResource.getImage("color.gif");
setColorLine.setIcon(coloricon);
setColorCompone = setupMenu.add("设置组件填充颜色");
setColorCompone.setFont(myFont);
//ImageIcon coloricon=GetResource.getImage("color.gif");
setColorCompone.setIcon(coloricon);
setupMenu.addSeparator();
setLineWidth=setupMenu.add("设置线宽和透明--全局设置");
setLineWidth.setFont(myFont);
//关于
aboutItem=new JMenuItem("关于 drawflow3.0 Beta");
aboutItem.setFont(myFont);
helpMenu.add(aboutItem);
//添加编辑菜单项
unItem=new JMenuItem("撤销");
unItem.setFont(myFont);
ImageIcon unicon=GetResource.getImage("undo.gif");
unItem.setIcon(unicon);
//editMenu.add(unItem);
editMenu.addSeparator();
copyItem=new JMenuItem("复制到这里");
copyItem.setFont(myFont);
//ImageIcon coloricon=GetResource.getImage("button.gif");
//copyItem.setIcon(coloricon);
ImageIcon copyicon=GetResource.getImage("copy.gif");
copyItem.setIcon(copyicon);
editMenu.add(copyItem);
delItem=new JMenuItem("删除选中组件");
delItem.setFont(myFont);
ImageIcon delicon=GetResource.getImage("del.gif");
delItem.setIcon(delicon);
editMenu.add(delItem);
editMenu.addSeparator();
selectAllItem=new JMenuItem("选择全部组件");
selectAllItem.setFont(myFont);
//ImageIcon coloricon=GetResource.getImage("button.gif");
//selectAllItem.setIcon(coloricon);
editMenu.add(selectAllItem);
//添加远程组件
saveRemote=new JMenuItem("保存到服务器");
saveRemote.setFont(myFont);
remoteMenu.add(saveRemote);
selectRemote=new JMenuItem("读取远程数据");
selectRemote.setFont(myFont);
remoteMenu.add(selectRemote);
saveAsRemote=new JMenuItem("另存到服务器");
saveAsRemote.setFont(myFont);
remoteMenu.add(saveAsRemote);
/**
*添加工具条
*/
this.add(fileMenu);
this.add(editMenu);
this.add(setupMenu);
//this.add(textMenu);
//this.add(windowMenu);
//this.add(remoteMenu);
this.add(helpMenu);
newItem.addActionListener(this);
/**
* 添加事件
*/
saveAsItem.addActionListener(this);
/**
* 添加事件
*/
openItem.addActionListener(this);
/**
* 添加事件
*/
saveItem.addActionListener(this);
/**
* 添加事件
*/
exportItem.addActionListener(this);
/**
* 添加事件
*/
closeItem.addActionListener(this);
/**
* 添加事件
*/
setColorLine.addActionListener(this);
/**
* 添加事件
*/
setColorCompone.addActionListener(this);
/**
* 添加事件
*/
setLineWidth.addActionListener(this);
/**
* 添加事件
*/
aboutItem.addActionListener(this);
/**
* 添加事件
*/
unItem.addActionListener(this);
/**
* 添加事件
*/
copyItem.addActionListener(this);
/**
* 添加事件
*/
delItem.addActionListener(this);
/**
* 添加事件
*/
selectAllItem.addActionListener(this);
/**
* 添加事件
*/
saveRemote.addActionListener(this);
/**
* 添加事件
*/
selectRemote.addActionListener(this);
/**
* 添加事件
*/
saveAsRemote.addActionListener(this);
files1.addChoosableFileFilter(select1);
files1.addChoosableFileFilter(select3);
files.addChoosableFileFilter(select);
//定义快捷方式
fileMenu.setMnemonic('T');
newItem.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK ));
openItem.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK ));
saveItem.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK ));
exportItem.setAccelerator(KeyStroke.getKeyStroke('E',Event.CTRL_MASK ));
copyItem.setAccelerator(KeyStroke.getKeyStroke('C',Event.CTRL_MASK ));
//delItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE));
selectAllItem.setAccelerator(KeyStroke.getKeyStroke('A',Event.CTRL_MASK ));
delItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
unItem.setAccelerator(KeyStroke.getKeyStroke('Z',Event.CTRL_MASK ));
}
/**
* 单击事件
* @param e
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -