📄 jdfframe.java
字号:
m_showInhAttrRadioItem = new JRadioButtonMenuItem(
m_littleBundle.getString("ShowInhAttrKey"), m_iniFile.showInhAttr());
m_showInhAttrRadioItem.addActionListener(this);
m_validateMenu.add(m_showInhAttrRadioItem);
m_validateMenu.add(new JSeparator());
m_copyValidationListItem = new JMenuItem(m_littleBundle.getString("CopyValidationList"));
m_copyValidationListItem.addActionListener(this);
m_copyValidationListItem.setEnabled(false);
m_validateMenu.add(m_copyValidationListItem);
return m_validateMenu;
}
/**
* Creates the Help menu.
* @return The Help menu with the menu items.
*/
private JMenu drawHelpMenu()
{
final Menu_MouseListener menuListener = new Menu_MouseListener();
m_helpMenu = new JMenu(m_littleBundle.getString("HelpKey"));
m_helpMenu.setBorderPainted(false);
m_helpMenu.addMouseListener(menuListener);
m_helpItem = new JMenuItem(m_littleBundle.getString("HelpKey"));
m_helpItem.addActionListener(this);
m_helpMenu.add(m_helpItem);
m_helpMenu.add(new JSeparator());
m_aboutItem = new JMenuItem(m_littleBundle.getString("AboutThisAppKey"));
m_aboutItem.addActionListener(this);
m_helpMenu.add(m_aboutItem);
m_versionItem = new JMenuItem(m_littleBundle.getString("JDFEditorVerKey"));
m_versionItem.addActionListener(this);
m_helpMenu.add(m_versionItem);
return m_helpMenu;
}
/**
* Checks if the String[] m_recentFiles file has any content.
* Called to check if the the m_recentFilesMenu is to be created.
* @return true if any file has recently been opened; false otherwise.
*/
private boolean recentFilesExists()
{
boolean exist = false;
m_recentFiles = m_iniFile.getRecentFiles();
if(m_recentFiles[0] != null)
exist = true;
return exist;
}
/**
* Method drawBoxContent.
* @return Box
*/
private Box drawBoxContent()
{
final Box box_splitPane = Box.createHorizontalBox();
box_splitPane.add(drawSplitPane());
final Box box_content = Box.createVerticalBox();
m_buttonBar = new JToolBar(SwingConstants.HORIZONTAL);
drawButtonBar();
box_content.add(m_buttonBar);
box_content.add(box_splitPane);
return box_content;
}
/**
* Method drawButtonBar.
*/
void drawButtonBar()
{
final ImageIcon imgNew = Editor.getImageIcon(getClass(), "/icons/NewButton.gif");
final ImageIcon imgOpen = Editor.getImageIcon(getClass(), "/icons/OpenButton.gif");
final ImageIcon imgSave = Editor.getImageIcon(getClass(), "/icons/SaveButton.gif");
final ImageIcon imgCut = Editor.getImageIcon(getClass(), "/icons/CutButton.gif");
final ImageIcon imgCopy = Editor.getImageIcon(getClass(), "/icons/CopyButton.gif");
final ImageIcon imgPaste = Editor.getImageIcon(getClass(), "/icons/PasteButton.gif");
final ImageIcon imgUndo = Editor.getImageIcon(getClass(), "/icons/UndoButton.gif");
final ImageIcon imgRedo = Editor.getImageIcon(getClass(), "/icons/RedoButton.gif");
final ImageIcon imgReval = Editor.getImageIcon(getClass(), "/icons/RevalidateButton.gif");
final ImageIcon imgUp = Editor.getImageIcon(getClass(), "/icons/UpButton.gif");
final ImageIcon imgPrint = Editor.getImageIcon(getClass(), "/icons/PrintButton.gif");
final ImageIcon imgZoomIn = Editor.getImageIcon(getClass(), "/icons/ZoomInButton.gif");
final ImageIcon imgZoomOut = Editor.getImageIcon(getClass(), "/icons/ZoomOutButton.gif");
final ImageIcon imgZoomOrig = Editor.getImageIcon(getClass(), "/icons/ZoomOrigButton.gif");
final ImageIcon imgZoomBest = Editor.getImageIcon(getClass(), "/icons/ZoomBestButton.gif");
final ImageIcon imgRefresh = Editor.getImageIcon(getClass(), "/icons/RefreshButton.gif");
final Dimension d = new Dimension(10, 30);
m_buttonBar.setFloatable(false);
m_newButton = createDefaultButton(imgNew, m_littleBundle.getString("NewKey"), true);
m_buttonBar.add(m_newButton);
m_openButton = createDefaultButton(imgOpen, m_littleBundle.getString("OpenKey"), true);
m_buttonBar.add(m_openButton);
m_saveButton = createDefaultButton(imgSave, m_littleBundle.getString("SaveKey"), false);
m_buttonBar.add(m_saveButton);
m_buttonBar.addSeparator(d);
m_printButton = createDefaultButton(imgPrint, m_littleBundle.getString("PrintKey"), false);
m_buttonBar.add(m_printButton);
m_refreshButton = createDefaultButton(imgRefresh, m_littleBundle.getString("RefreshKey"), false);
m_buttonBar.add(m_refreshButton);
m_buttonBar.addSeparator(d);
m_cutButton = createDefaultButton(imgCut, m_littleBundle.getString("CutKey"), false);
m_buttonBar.add(m_cutButton);
m_copyButton = createDefaultButton(imgCopy, m_littleBundle.getString("CopyKey"), false);
m_buttonBar.add(m_copyButton);
m_pasteButton = createDefaultButton(imgPaste, m_littleBundle.getString("PasteKey"), false);
m_buttonBar.add(m_pasteButton);
m_buttonBar.addSeparator(d);
m_undoButton = createDefaultButton(imgUndo, m_littleBundle.getString("UndoKey"), false);
m_undoButton.addActionListener(undoAction);
m_buttonBar.add(m_undoButton);
m_redoButton = createDefaultButton(imgRedo, m_littleBundle.getString("RedoKey"), false);
m_redoButton.addActionListener(redoAction);
m_buttonBar.add(m_redoButton);
m_buttonBar.addSeparator(d);
m_validateButton = createDefaultButton(imgReval, m_littleBundle.getString("ValidateToolTipKey"), false);
m_buttonBar.add(m_validateButton);
m_upOneLevelButton = createDefaultButton(imgUp, m_littleBundle.getString("GoUpInProcessViewKey"), false);
m_buttonBar.add(m_upOneLevelButton);
m_buttonBar.addSeparator(d);
m_zoomInButton = createDefaultButton(imgZoomIn, m_littleBundle.getString("ZoomInKey"), false);
m_buttonBar.add(m_zoomInButton);
m_zoomOutButton = createDefaultButton(imgZoomOut, m_littleBundle.getString("ZoomOutKey"), false);
m_buttonBar.add(m_zoomOutButton);
m_zoomOrigButton = createDefaultButton(imgZoomOrig, m_littleBundle.getString("ZoomOrigKey"), false);
m_buttonBar.add(m_zoomOrigButton);
m_zoomBestButton = createDefaultButton(imgZoomBest, m_littleBundle.getString("ZoomFitKey"), false);
m_buttonBar.add(m_zoomBestButton);
m_buttonBar.addSeparator(d);
m_buttonBar.add(Box.createHorizontalGlue());
SwingUtilities.updateComponentTreeUI(m_buttonBar);
}
/**
* Creates a JButton with the default settings.
* @param iconStr - The Path to the image file
* @param tip - The tool tip
* @param enabled - If the button is enabled or disabled initially
* @return The default JButton.
*/
private JButton createDefaultButton(ImageIcon icon, String tip, boolean enabled)
{
final JButton button = new JButton(icon);
if (m_currentLookAndFeel.equalsIgnoreCase("com.sun.java.swing.plaf.motif.MotifLookAndFeel"))
button.setPreferredSize(new Dimension(45, 45));
else
button.setPreferredSize(new Dimension(30, 30));
button.addActionListener(this);
button.addMouseListener(new Button_MouseListener());
button.setBorderPainted(false);
button.setEnabled(enabled);
button.setToolTipText(tip);
return button;
}
/**
* Draws the splitpanes in which the views are to be displayed
* @return JSplitPane
*/
private JSplitPane drawSplitPane()
{
final Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
m_inOutArea = new JPanel();
m_inOutArea.setLayout(null);
m_inOutArea.setBackground(Color.white);
m_inOutAreaLeft = new JPanel();
m_inOutAreaLeft.setLayout(null);
m_inOutAreaLeft.setBackground(Color.white);
m_inOutArea.add(m_inOutAreaLeft);
m_inOutAreaMiddle = new JPanel();
m_inOutAreaMiddle.setLayout(null);
m_inOutAreaMiddle.setBackground(Color.white);
m_inOutArea.add(m_inOutAreaMiddle);
m_inOutAreaRight = new JPanel();
m_inOutAreaRight.setLayout(null);
m_inOutAreaRight.setBackground(Color.white);
m_inOutArea.add(m_inOutAreaRight);
m_inOutArea.add(Box.createHorizontalGlue());
m_rightTabbedPane = new JTabbedPane();
m_rightTabbedPane.setBorder(BorderFactory.createLineBorder(Color.black));
m_inOutScrollPane = new JScrollPane();
m_inOutScrollPane.getViewport().add(m_inOutArea, null);
m_inOutScrollPane.getVerticalScrollBar().setUnitIncrement(20);
m_inOutScrollPane.getHorizontalScrollBar().setUnitIncrement(20);
m_rightTabbedPane.addTab(m_littleBundle.getString("NextNeighbourKey"), null,
m_inOutScrollPane, m_littleBundle.getString("NextNeighbourKey"));
m_rightTabbedPane.setComponentAt(m_IO_INDEX, m_inOutScrollPane);
m_rightTabbedPane.setSelectedIndex(m_IO_INDEX);
m_processArea = new JTextArea();
m_processArea.setEditable(false);
m_processScrollPane = new JScrollPane();
m_processScrollPane.getViewport().add(m_processArea, null);
m_processScrollPane.getVerticalScrollBar().setUnitIncrement(20);
m_processScrollPane.getHorizontalScrollBar().setUnitIncrement(20);
m_rightTabbedPane.addTab(m_littleBundle.getString("ProcessViewKey"), null,
m_processScrollPane, m_littleBundle.getString("ProcessViewKey"));
m_rightTabbedPane.setComponentAt(m_PROC_INDEX, m_processScrollPane);
m_devCapArea = new JTextArea();
m_devCapArea.setEditable(true);
m_devCapArea.setBackground(Color.white);
m_devCapScrollPane = new JScrollPane();
m_devCapScrollPane.getViewport().add(m_devCapArea, null);
m_devCapScrollPane.getVerticalScrollBar().setUnitIncrement(20);
m_devCapScrollPane.getHorizontalScrollBar().setUnitIncrement(20);
m_rightTabbedPane.addTab(m_littleBundle.getString("DevCapViewKey"), null,
m_devCapScrollPane, m_littleBundle.getString("DevCapViewKey"));
m_rightTabbedPane.setComponentAt(m_DC_INDEX, m_devCapScrollPane);
m_commentArea = new JTextArea();
m_commentArea.setEditable(true);
m_commentArea.setBackground(Color.white);
m_commentScrollPane = new JScrollPane();
m_commentScrollPane.getViewport().add(m_commentArea, null);
m_commentScrollPane.getVerticalScrollBar().setUnitIncrement(20);
m_commentScrollPane.getHorizontalScrollBar().setUnitIncrement(20);
m_rightTabbedPane.addTab(m_littleBundle.getString("CommentViewKey"), null,
m_commentScrollPane, m_littleBundle.getString("CommentViewKey"));
m_rightTabbedPane.setComponentAt(m_COM_INDEX, m_commentScrollPane);
m_rightTabbedPane.setEnabledAt(m_COM_INDEX, false);
final MouseAdapter tabbedPaneListener = new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (m_rightTabbedPane.getSelectedIndex() == m_PROC_INDEX)
initProcessView();
else if (m_rightTabbedPane.getSelectedIndex() == m_COM_INDEX
|| m_rightTabbedPane.getSelectedIndex() == m_IO_INDEX
|| m_rightTabbedPane.getSelectedIndex() == m_DC_INDEX)
{
m_upOneLevelButton.setEnabled(false);
m_zoomInButton.setEnabled(false);
m_zoomOutButton.setEnabled(false);
m_zoomOrigButton.setEnabled(false);
m_zoomBestButton.setEnabled(false);
if(m_rightTabbedPane.getSelectedIndex() == m_IO_INDEX)
{
clearInOutView();
initInOutView();
}
else if (m_rightTabbedPane.getSelectedIndex() == m_COM_INDEX)
{
showComment();
}
else if (m_rightTabbedPane.getSelectedIndex() == m_DC_INDEX)
{
// __Lena__ TBD - display DeviceCap Editor
}
}
}
};
m_rightTabbedPane.addMouseListener(tabbedPaneListener);
m_errorTabbedPane = new JTabbedPane();
m_errorTabbedPane.setBorder(BorderFactory.createLineBorder(Color.black));
m_validErrScroll = new JScrollPane();
m_validErrScroll.getVerticalScrollBar().setUnitIncrement(20);
m_validErrScroll.getHorizontalScrollBar().setUnitIncrement(20);
m_validErrScroll.getViewport().setBackground(Color.white);
m_validErrScroll.getViewport().setView(m_myList);
m_errorTabbedPane.addTab(m_littleBundle.getString("ValidationResultKey"), null,
m_validErrScroll, m_littleBundle.getString("ValidationResultKey"));
m_errorTabbedPane.setComponentAt(m_VAL_ERRORS_INDEX, m_validErrScroll);
m_devCapErrScroll = new JScrollPane();
m_devCapErrScroll.getVerticalScrollBar().setUnitIncrement(20);
m_devCapErrScroll.getHorizontalScrollBar().setUnitIncrement(20);
m_devCapErrScroll.getViewport().setBackground(Color.white);
m_errorTabbedPane.addTab(m_littleBundle.getString("DevCapOutputKey"), null,
m_devCapErrScroll, m_littleBundle.getString("DevCapOutputKey"));
m_errorTabbedPane.setComponentAt(m_DC_ERRORS_INDEX, m_devCapErrScroll);
final MouseAdapter errorTabbedPaneListener = new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (m_errorTabbedPane.getSelectedIndex() == m_VAL_ERRORS_INDEX)
{
m_validErrScroll.getViewport().setView(m_myList);
}
}
};
m_errorTabbedPane.addMouseListener(errorTabbedPaneListener);
m_treeArea = new JTextArea();
new DropTarget(m_treeArea, this);
m_treeArea.setToolTipText(m_littleBundle.getString("TreeViewKey"));
m_treeArea.setEditable(false);
undomanager.setLimit( 100 );
m_treeArea.getDocument().addUndoableEditListener(undomanager);
undoSupport.addUndoableEditListener(undomanager);
final JLabel treeLabel = new JLabel(" " + m_littleBundle.getString("TreeViewKey"));
treeLabel.setPreferredSize(new Dimension(treeLabel.getPreferredSize().width, 23));
treeLabel.setVerticalTextPosition(SwingConstants.BOTTOM);
treeLabel.setToolTipText(m_littleBundle.getString("TreeViewKey"));
treeLabel.setBorder(BorderFactory.createLineBorder(Color.black));
m_treeScroll = new JScrollPane();
m_treeScroll.getVerticalScrollBar().setUnitIncrement(20);
m_treeScroll.getHorizontalScrollBar().setUnitIncrement(20);
m_treeView = new JViewport();
m_treeView.setView(m_treeArea);
m_treeScroll.setViewport(m_treeView);
m_treeScroll.setColumnHeaderView(treeLabel);
final JSplitPane attAndErrorPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, m_rightTabbedPane, m_errorTabbedPane);
attAndErrorPane.setDividerLocation(d.height / 2);
attAndErrorPane.setResizeWeight(1);
final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, m_treeScroll, attAndErrorPane);
splitPane.setDividerLocation(d.width / 4);
return splitPane;
}
/**
* Initiate the Process View.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -