📄 toolfactory.java
字号:
//decorate menu and its sub menus..
JMenu decorateMenu =new JMenu(CADResource.getString("menuitem.graph.decorate.label"));
decorateMenu.setFont(GUIConst.FONT_MENU);
decorateMenu.setMnemonic(CADResource.getChar("menuitem.graph.decorate.mnemonic"));
addDecorateMenus(decorateMenu,listener);
pMenu.add(decorateMenu);
//group menu
JMenu groupMenu =new JMenu(CADResource.getString("menuitem.graph.group.label"));
groupMenu.setFont(GUIConst.FONT_MENU);
groupMenu.setMnemonic(CADResource.getChar("menuitem.graph.group.mnemonic"));
addGroupMenus(groupMenu,listener);
pMenu.add(groupMenu);
//* demo
//An export menu.
JMenu exportMenu = createMenu(CADResource.getString("menu.exporting.label"),
CADResource.getChar("menu.exporting.mnemonic"),
CADResource.getChar("menu.exporting.accelerator"),
CADResource.getString("menu.exporting.keymask")
);
exportMenu.setFont(GUIConst.FONT_MENU);
addExportMenus(exportMenu,listener,true);
pMenu.add(exportMenu);
//*/
pMenu.add(new JSeparator());
//setting menu
JMenu setMenu =new JMenu(CADResource.getString("menu.setting.label"));
setMenu.setFont(GUIConst.FONT_MENU);
addSettingMenus(setMenu,listener);
pMenu.add(setMenu);
//* demo
if (!hideLibrary){
pMenu.add(new JSeparator());
addLibraryMenus(pMenu,listener);
}
//*/
return pMenu;
}
/** key mask: alt mask or ctrl mask.*/
private static final String KEYMASK_ALT ="alt";
private static final String KEYMASK_CTRL ="ctrl";
/**
* Create menu title.
*
* @param caption A caption for an title menu.
* @param mnemonicKey A key for short cut operation.
* @param keyMask A key mask represents a alt-mask or ctrl-mask.
*/
public static JMenu createMenu(String caption, char mnemonicKey,char accelerator,String keyMask){
return createMenu(caption,"",mnemonicKey,accelerator,keyMask);
}
/**
* Create menu title.
*
* @param caption A caption for an title menu.
* @param iconName The name of an icon.
* @param mnemonicKey A key for short cut operation.
* @param keyMask A key mask represents a alt-mask or ctrl-mask.
*/
public static JMenu createMenu(String caption,String iconName, char mnemonicKey,char accelerator,String keyMask){
JMenu m=new JMenu(caption);
if (iconName!=null && iconName.length()>0){
ImageIcon icon = createIcon(iconName);
m.setIcon(icon);
}
m.setMnemonic(mnemonicKey);
m.setFont(GUIConst.FONT_MENU);
if (accelerator!=0){
if (KEYMASK_ALT.equals(keyMask))
m.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
else if (KEYMASK_CTRL.equals(keyMask))
m.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
}
return m;
}
/**
* Create radio menu item.
*
* @param caption A caption for an menu item.
* @param mnemonicKey A key for short cut operation.
* @param keyMask A key mask represents a alt-mask or ctrl-mask.
* @param checked If this radio menu item is checked defaultly.
* @param action A command string for furthur action processing.
* @param listener An action listener to be attached.
*/
public static JRadioButtonMenuItem createRadioMenuItem(String caption, char mnemonicKey,char accelerator,String keyMask,boolean checked,String action,ActionListener listener){
JRadioButtonMenuItem mi = new JRadioButtonMenuItem(caption,true);
if (mnemonicKey!=0)
mi.setMnemonic(mnemonicKey);
if (accelerator!=0){
if (KEYMASK_ALT.equals(keyMask))
mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
else if (KEYMASK_CTRL.equals(keyMask))
mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
}
mi.setActionCommand(action);
mi.addActionListener(listener);
mi.setFont(GUIConst.FONT_MENU);
return mi;
}
/**
* Create menu item.
*
* @param caption A caption for an menu item.
* @param mnemonicKey A key for short cut operation.
* @param keyMask A key mask represents a alt-mask or ctrl-mask.
* @param action A command string for furthur action processing.
* @param listener An action listener to be attached.
*/
public static JMenuItem createMenuItem(String caption, char mnemonicKey,char accelerator,String keyMask,String action,ActionListener listener){
return createMenuItem(caption,"",mnemonicKey,accelerator,keyMask,action,listener);
}
/**
* Create menu item.
*
* @param caption A caption for an menu item.
* @param iconName The name of an icon.
* @param mnemonicKey A key for short cut operation.
* @param keyMask A key mask represents a alt-mask or ctrl-mask.
* @param action A command string for furthur action processing.
* @param listener An action listener to be attached.
*/
public static JMenuItem createMenuItem(String caption, String iconName,char mnemonicKey,char accelerator,String keyMask,String action,ActionListener listener){
JMenuItem mi;
if (iconName!=null && iconName.length()>0){
ImageIcon icon = createIcon(iconName);
mi = new JMenuItem(caption, icon);
}else{
mi=new JMenuItem(caption);
}
if (mnemonicKey!=0)
mi.setMnemonic(mnemonicKey);
if (accelerator!=0){
if (KEYMASK_ALT.equals(keyMask))
mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
else if (KEYMASK_CTRL.equals(keyMask))
mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
}
mi.setActionCommand(action);
mi.addActionListener(listener);
mi.setFont(GUIConst.FONT_MENU);
return mi;
}
/**
* add file buttons to a ToolBar
*/
public void addFileButtons(JToolBar bar, ActionListener listener){
bar.add(createButton(CADResource.getString("menuitem.newfile.label"),
CADResource.getString("menuitem.newfile.tooltip"),
"general/new16",
CADResource.getChar("menuitem.newfile.mnemonic"),
ActionConst.CMD_FILE_NEW,
listener));
bar.add(createButton(CADResource.getString("menuitem.openfile.label"),
CADResource.getString("menuitem.openfile.tooltip"),
"general/open16",
CADResource.getChar("menuitem.openfile.mnemonic"),
ActionConst.CMD_FILE_OPEN,
listener));
bar.add(createButton(CADResource.getString("menuitem.savefile.label"),
CADResource.getString("menuitem.savefile.tooltip"),
"general/save16",
CADResource.getChar("menuitem.savefile.mnemonic"),
ActionConst.CMD_FILE_SAVE,
listener));
bar.add(createButton(CADResource.getString("menuitem.printpreview.label"),
CADResource.getString("menuitem.printpreview.tooltip"),
"general/PrintPreview16",
CADResource.getChar("menuitem.printpreview.mnemonic"),
ActionConst.CMD_FILE_PRINTPREVIEW,
listener));
}
/**
* add graph drawing buttons to a ToolBar
*/
public void addGraphDrawButtons(JToolBar bar, ActionListener listener){
bar.add(createButton(CADResource.getString("menuitem.graph.pick.label"),
CADResource.getString("menuitem.graph.pick.tooltip"),
"graph/pick16",
CADResource.getChar("menuitem.graph.pick.mnemonic"),
ActionConst.CMD_GRAPH_PICK,
listener));
bar.add(createButton(CADResource.getString("menuitem.graph.drawline.label"),
CADResource.getString("menuitem.graph.drawline.tooltip"),
"graph/line16",
CADResource.getChar("menuitem.graph.drawline.mnemonic"),
ActionConst.CMD_GRAPH_DRAWLINETRIGGER,
listener));
bar.add(createButton(CADResource.getString("menuitem.graph.drawrect.label"),
CADResource.getString("menuitem.graph.drawrect.tooltip"),
"graph/rectangle16",
CADResource.getChar("menuitem.graph.drawrect.mnemonic"),
ActionConst.CMD_GRAPH_DRAWRECTTRIGGER,
listener));
bar.add(createButton(CADResource.getString("menuitem.graph.drawellipse.label"),
CADResource.getString("menuitem.graph.drawellipse.tooltip"),
"graph/Ellipse16",
CADResource.getChar("menuitem.graph.drawellipse.mnemonic"),
ActionConst.CMD_GRAPH_DRAWELLIPSETRIGGER,
listener));
bar.add(createButton(CADResource.getString("menuitem.graph.drawpolygon.label"),
CADResource.getString("menuitem.graph.drawpolygon.tooltip"),
"graph/Polygon16",
CADResource.getChar("menuitem.graph.drawpolygon.mnemonic"),
ActionConst.CMD_GRAPH_DRAWPOLYGONTRIGGER,
listener));
bar.add(createButton(CADResource.getString("menuitem.graph.drawimage.label"),
CADResource.getString("menuitem.graph.drawimage.tooltip"),
"graph/Image16",
CADResource.getChar("menuitem.graph.drawimage.mnemonic"),
ActionConst.CMD_GRAPH_DRAWIMAGE,
listener));
bar.addSeparator();
bar.add(createButton(CADResource.getString("menuitem.graph.drawtext.label"),
CADResource.getString("menuitem.graph.drawtext.tooltip"),
"graph/Text16",
CADResource.getChar("menuitem.graph.drawtext.mnemonic"),
ActionConst.CMD_GRAPH_DRAWTEXT,
listener));
addTextAlignmentButtons(bar,listener);
}
/**
* add layer processing buttons to a ToolBar
*/
public void addLayerButtons(JToolBar bar, ActionListener listener){
layerTextField =new JTextField(JFLayer.LAYER_NAME_DEFAULT);
layerTextField.setFont(GUIConst.FONT_LABEL);
Dimension layerTextSize =new Dimension(60,25);
layerTextField.setMinimumSize(layerTextSize);
layerTextField.setPreferredSize(layerTextSize);
layerTextField.setMaximumSize(layerTextSize);
layerTextField.setEditable(false);
bar.add(layerTextField);
///* trial version
bar.add(createButton(CADResource.getString("menuitem.layers.label"),
CADResource.getString("menuitem.layers.tooltip"),
"general/layer16",
CADResource.getChar("menuitem.layers.mnemonic"),
ActionConst.CMD_GRAPH_LAYERS,
listener));
//*/
}
/**
* add graph processing buttons to a ToolBar
*/
public void addGraphProcessButtons(JToolBar bar, ActionListener listener
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -