📄 jdfframe.java.old
字号:
private INIReader m_iniFile;
private PreferenceDialog m_pd = null;
private DefaultTreeModel m_model;
DefaultListModel m_listModel = new DefaultListModel();
private JDFDoc m_jdfDocument;
File m_fileToSave = null;
private int m_inTreePos = 0;
private int m_outTreePos = 0;
private String m_currentLanguage;
private String m_docNS = "";
String m_currentLookAndFeel;
String m_currentMethodSendToDevice;
private String[] m_recentFiles = new String[5];
private String[] m_iconStrings = new String[24];
static protected Cursor m_readyCursor = Cursor.getDefaultCursor();
static protected Cursor m_waitCursor = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
private DragSource m_source;
final private int m_IO_INDEX = 0;
final private int m_PROC_INDEX = 1;
final private int m_COM_INDEX = 3;
final private int m_DC_INDEX = 2;
final private int m_VAL_ERRORS_INDEX = 0;
final private int m_DC_ERRORS_INDEX = 1;
private boolean m_bValidationCompleted = false;
final private JMenuBar m_menuBar = new JMenuBar();
JTree m_reportTree;
DefaultMutableTreeNode m_execRoot = null;
DefaultMutableTreeNode m_reportRoot;
DevCapTreeSelectionListener m_devCapTreeSelectionListener;
final MyUndoManager undomanager = new MyUndoManager();
final UndoableEditSupport undoSupport = new UndoableEditSupport();
UndoAction undoAction = new UndoAction();
RedoAction redoAction = new RedoAction();
public JDFFrame()
{
super("CIP4 JDF Editor");
m_source = DragSource.getDefaultDragSource();
m_source.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this);
final Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0, 0, d.width, d.height - 30);
this.setCursor(m_readyCursor);
m_iniFile = new INIReader();
m_iconStrings = m_iniFile.getIconStrings();
m_currentAutoVal = m_iniFile.autoVal();
m_currentReadOnly = m_iniFile.readOnly();
m_currentLanguage = m_iniFile.getLanguage();
m_currentLookAndFeel = m_iniFile.getLookAndFeel();
m_currentMethodSendToDevice = m_iniFile.getMethodSendToDevice();
final Locale currentLocale = new Locale(m_currentLanguage, m_currentLanguage.toUpperCase());
m_littleBundle = ResourceBundle.getBundle("MyResource", currentLocale);
Locale.setDefault(currentLocale);
try
{
UIManager.setLookAndFeel(m_currentLookAndFeel);
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* Method drawWindow.
*/
public void drawWindow()
{
this.setCursor(m_waitCursor);
this.setJMenuBar(drawMenu());
this.getContentPane().add(drawBoxContent());
this.setEnableClose(false);
this.setVisible(true);
this.setCursor(m_readyCursor);
}
/**
* Create the different menues and adds them to the menubar.
* @return The Menu bar with all its items.
*/
private JMenuBar drawMenu()
{
m_menuBar.setBackground(Color.lightGray);
final Color menuColor = m_menuBar.getBackground();
final JMenu fileM = drawFileMenu();
fileM.setBackground(menuColor);
fileM.setMnemonic('F');
m_menuBar.add(fileM);
final JMenu editM = drawEditMenu();
editM.setMnemonic('E');
editM.setBackground(menuColor);
m_menuBar.add(editM);
final JMenu insertM = drawInsertMenu();
insertM.setMnemonic('I');
insertM.setBackground(menuColor);
m_menuBar.add(insertM);
final JMenu toolsM = drawToolsMenu();
toolsM.setMnemonic('T');
toolsM.setBackground(menuColor);
m_menuBar.add(toolsM);
final JMenu validateM = drawValidateMenu();
validateM.setMnemonic('V');
validateM.setBackground(menuColor);
m_menuBar.add(validateM);
final JMenu helpM = drawHelpMenu();
helpM.setMnemonic('H');
helpM.setBackground(menuColor);
m_menuBar.add(helpM);
return m_menuBar;
}
/**
* Creates the File menu.
* @return The File menu with the menu items.
*/
private JMenu drawFileMenu()
{
final Menu_MouseListener menuListener = new Menu_MouseListener();
final int menuKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
m_fileMenu = new JMenu(m_littleBundle.getString("FileKey"));
m_fileMenu.setBorderPainted(false);
m_fileMenu.addMouseListener(menuListener);
m_newItem = new JMenuItem(m_littleBundle.getString("NewKey"));
m_newItem.addActionListener(this);
m_newItem.setAccelerator(KeyStroke.getKeyStroke('N', menuKeyMask));
m_fileMenu.add(m_newItem);
m_openItem = new JMenuItem(m_littleBundle.getString("OpenKey"));
m_openItem.addActionListener(this);
m_openItem.setAccelerator(KeyStroke.getKeyStroke('O', menuKeyMask));
m_fileMenu.add(m_openItem);
m_closeItem = new JMenuItem(m_littleBundle.getString("CloseKey"));
m_closeItem.addActionListener(this);
m_fileMenu.add(m_closeItem);
m_fileMenu.add(new JSeparator());
m_saveItem = new JMenuItem(m_littleBundle.getString("SaveKey"));
m_saveItem.addActionListener(this);
m_saveItem.setAccelerator(KeyStroke.getKeyStroke('S', menuKeyMask));
m_fileMenu.add(m_saveItem);
m_saveAsItem = new JMenuItem(m_littleBundle.getString("SaveAsKey"));
m_saveAsItem.addActionListener(this);
m_fileMenu.add(m_saveAsItem);
m_fileMenu.add(new JSeparator());
m_exportItem = new JMenuItem(m_littleBundle.getString("ExportKey"));
m_exportItem.addActionListener(this);
m_exportItem.setAccelerator(KeyStroke.getKeyStroke('E', menuKeyMask));
m_fileMenu.add(m_exportItem);
m_fileMenu.add(new JSeparator());
m_recentFilesMenu = new JMenu(m_littleBundle.getString("OpenRecentFileKey"));
if (recentFilesExists())
{
for (int i = 0; i < m_recentFiles.length; i++)
{
if (m_recentFiles[i] == null)
break;
m_subMenuItem[i] = new JMenuItem(m_recentFiles[i]);
m_subMenuItem[i].addActionListener(this);
m_recentFilesMenu.add(m_subMenuItem[i]);
}
}
else
m_recentFilesMenu.setEnabled(false);
m_fileMenu.add(m_recentFilesMenu);
m_fileMenu.add(new JSeparator());
m_quitItem = new JMenuItem(m_littleBundle.getString("ExitKey"));
m_quitItem.addActionListener(this);
m_quitItem.setAccelerator(KeyStroke.getKeyStroke('Q', menuKeyMask));
m_fileMenu.add(m_quitItem);
return m_fileMenu;
}
/**
* Creates the Edit menu.
* @return The Edit menu with the menu items.
*/
private JMenu drawEditMenu()
{
final Menu_MouseListener menuListener = new Menu_MouseListener();
final int menuKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
m_editMenu = new JMenu(m_littleBundle.getString("EditKey"));
m_editMenu.setBorderPainted(false);
m_editMenu.addMouseListener(menuListener);
m_undoItem = new JMenuItem(m_littleBundle.getString("UndoKey"));
m_undoItem.addActionListener(undoAction);
m_undoItem.setAccelerator(KeyStroke.getKeyStroke('Z', menuKeyMask));
m_undoItem.setEnabled(false);
m_editMenu.add(m_undoItem);
m_redoItem = new JMenuItem(m_littleBundle.getString("RedoKey"));
m_redoItem.addActionListener(redoAction);
m_redoItem.setAccelerator(KeyStroke.getKeyStroke('Y', menuKeyMask));
m_redoItem.setEnabled(false);
m_editMenu.add(m_redoItem);
m_editMenu.add(new JSeparator());
m_cutItem = new JMenuItem(m_littleBundle.getString("CutKey"));
m_cutItem.addActionListener(this);
m_cutItem.setAccelerator(KeyStroke.getKeyStroke('X', menuKeyMask));
m_cutItem.setEnabled(false);
m_editMenu.add(m_cutItem);
m_copyItem = new JMenuItem(m_littleBundle.getString("CopyKey"));
m_copyItem.addActionListener(this);
m_copyItem.setAccelerator(KeyStroke.getKeyStroke('C', menuKeyMask));
m_copyItem.setEnabled(false);
m_editMenu.add(m_copyItem);
m_pasteItem = new JMenuItem(m_littleBundle.getString("PasteKey"));
m_pasteItem.addActionListener(this);
m_pasteItem.setAccelerator(KeyStroke.getKeyStroke('V', menuKeyMask));
m_pasteItem.setEnabled(false);
m_editMenu.add(m_pasteItem);
m_deleteItem = new JMenuItem(m_littleBundle.getString("DeleteKey"));
m_deleteItem.addActionListener(this);
m_deleteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
m_deleteItem.setEnabled(false);
m_editMenu.add(m_deleteItem);
m_editMenu.add(new JSeparator());
m_renameItem = new JMenuItem(m_littleBundle.getString("RenameKey"));
m_renameItem.addActionListener(this);
m_editMenu.add(m_renameItem);
m_modifyAttrValueItem = new JMenuItem(m_littleBundle.getString("ModifyAttValueKey"));
m_modifyAttrValueItem.addActionListener(this);
m_editMenu.add(m_modifyAttrValueItem);
m_editMenu.add(new JSeparator());
m_findItem = new JMenuItem(m_littleBundle.getString("FindKey"));
m_findItem.addActionListener(this);
m_findItem.setAccelerator(KeyStroke.getKeyStroke('F', menuKeyMask));
m_editMenu.add(m_findItem);
m_findXPathItem = new JMenuItem(m_littleBundle.getString("FindXPathKey"));
m_findXPathItem.addActionListener(this);
m_editMenu.add(m_findXPathItem);
return m_editMenu;
}
/**
* Creates the Insert menu.
* @return The Insert menu with the menu items.
*/
private JMenu drawInsertMenu()
{
final Menu_MouseListener menuListener = new Menu_MouseListener();
m_insertMenu = new JMenu(m_littleBundle.getString("InsertKey"));
m_insertMenu.setBorderPainted(false);
m_insertMenu.addMouseListener(menuListener);
m_insertElementMenu = new JMenu(m_littleBundle.getString("ElementKey"));
m_insertElemBeforeItem = new JMenuItem(m_littleBundle.getString("BeforeKey"));
m_insertElemBeforeItem.addActionListener(this);
m_insertElementMenu.add(m_insertElemBeforeItem);
m_insertElemIntoItem = new JMenuItem(m_littleBundle.getString("IntoKey"));
m_insertElemIntoItem.addActionListener(this);
m_insertElementMenu.add(m_insertElemIntoItem);
m_insertElemAfterItem = new JMenuItem(m_littleBundle.getString("AfterKey"));
m_insertElemAfterItem.addActionListener(this);
m_insertElementMenu.add(m_insertElemAfterItem);
m_insertMenu.add(m_insertElementMenu);
m_resourceMenu = new JMenu(m_littleBundle.getString("InsertResKey"));
m_insertInResItem = new JMenuItem(m_littleBundle.getString("InputResourceKey"));
m_insertInResItem.addActionListener(this);
m_resourceMenu.add(m_insertInResItem);
m_insertOutResItem = new JMenuItem(m_littleBundle.getString("OutputResourceKey"));
m_insertOutResItem.addActionListener(this);
m_resourceMenu.add(m_insertOutResItem);
m_resourceMenu.add(new JSeparator());
m_insertResItem = new JMenuItem(m_littleBundle.getString("ResourceKey"));
m_insertResItem.addActionListener(this);
m_resourceMenu.add(m_insertResItem);
m_insertMenu.add(m_resourceMenu);
m_resourceLinkMenu = new JMenu(m_littleBundle.getString("InsertResLinkKey"));
m_insertInResLinkItem = new JMenuItem(m_littleBundle.getString("ResourceInLinkKey"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -