/** * Initializes the widgets. */ protected void initGUI() { setIconImage(GUIHelper.getIcon("waikato.png").getImage()); }
/** * Either displays or hides the bookmarks. * * @param value true if to show bookmarks */ protected void showBookmarks(boolean value) { m_PanelBookmarks.setVisible(value); if (m_PanelBookmarks.isVisible()) m_ButtonBookmarks.setIcon(GUIHelper.getIcon("arrow-head-up.png")); else m_ButtonBookmarks.setIcon(GUIHelper.getIcon("arrow-head-down.png")); }
/** * Returns a popup menu when right-clicking on the edit field. * * @return the menu, null if non available */ protected JPopupMenu getPopupMenu() { JPopupMenu result; JMenuItem menuitem; result = new JPopupMenu(); menuitem = new JMenuItem("Copy", GUIHelper.getIcon("copy.gif")); menuitem.setAccelerator(KeyStroke.getKeyStroke("control pressed C")); menuitem.addActionListener(e -> copyToClipboard()); result.add(menuitem); menuitem = new JMenuItem("Paste", GUIHelper.getIcon("paste.gif")); menuitem.setAccelerator(KeyStroke.getKeyStroke("control pressed V")); menuitem.setEnabled(isEditable() && ClipboardHelper.canPasteStringFromClipboard()); menuitem.addActionListener(e -> pasteFromClipboard()); result.add(menuitem); if (m_PopupMenuCustomizer != null) { result.addSeparator(); m_PopupMenuCustomizer.customizePopupMenu(this, result); } return result; }
/** * For initializing the GUI. */ @Override protected void initGUI() { JPanel panel; super.initGUI(); setLayout(new BorderLayout()); m_PanelProperties = new ParameterPanel(); add(new BaseScrollPane(m_PanelProperties), BorderLayout.CENTER); m_PanelButtons = new JPanel(new BorderLayout()); add(m_PanelButtons, BorderLayout.SOUTH); panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); m_PanelButtons.add(panel, BorderLayout.WEST); m_ButtonLoad = new JButton(GUIHelper.getIcon("open.gif")); m_ButtonLoad.addActionListener((ActionEvent e) -> loadProperties()); panel.add(m_ButtonLoad); m_ButtonSave = new JButton(GUIHelper.getIcon("save.gif")); m_ButtonSave.addActionListener((ActionEvent e) -> saveProperties()); panel.add(m_ButtonSave); }
m_ButtonBookmarks = new JButton(GUIHelper.getIcon("arrow-head-up.png")); m_ButtonBookmarks.setBorder(BorderFactory.createEmptyBorder()); m_ButtonBookmarks.setPreferredSize(new Dimension(18, 18));
panelButtons = new JPanel(new GridLayout(0, 1)); panelRight.add(panelButtons, BorderLayout.NORTH); m_ButtonScriptLoad = new JButton(GUIHelper.getIcon("open.gif")); m_ButtonScriptLoad.setToolTipText("Load script from file"); m_ButtonScriptLoad.addActionListener((ActionEvent e) -> loadScript()); panelButtons.add(m_ButtonScriptLoad); m_ButtonScriptSave = new JButton(GUIHelper.getIcon("save.gif")); m_ButtonScriptSave.setToolTipText("Save script to file"); m_ButtonScriptSave.addActionListener((ActionEvent e) -> saveScript()); panelButtons.add(m_ButtonScriptSave); m_ButtonScriptRun = new JButton(GUIHelper.getIcon("run.gif")); m_ButtonScriptRun.setToolTipText("Execute script"); m_ButtonScriptRun.addActionListener((ActionEvent e) -> runScript()); panelButtons.add(m_ButtonScriptRun); m_ButtonScriptStop = new JButton(GUIHelper.getIcon("stop.gif")); m_ButtonScriptStop.setToolTipText("Stop script"); m_ButtonScriptStop.addActionListener((ActionEvent e) -> stopScript()); panelButtons = new JPanel(new GridLayout(0, 1)); panelRight.add(panelButtons, BorderLayout.NORTH); m_ButtonOutputClear = new JButton(GUIHelper.getIcon("new.gif")); m_ButtonOutputClear.setToolTipText("Clear output"); m_ButtonOutputClear.addActionListener((ActionEvent e) -> clearScriptOutput()); panelButtons.add(m_ButtonOutputClear); m_ButtonOutputSave = new JButton(GUIHelper.getIcon("save.gif")); m_ButtonOutputSave.setToolTipText("Save output to file"); m_ButtonOutputSave.addActionListener((ActionEvent e) -> saveScriptOutput());
/** * For testing only. * * @param args first argument is interpreted as script */ public static void main(String[] args) { BaseFrame frame; JShellPanel panel; panel = new JShellPanel(); panel.addJShellListener((JShellEvent e) -> System.out.println(e.getType())); frame = new BaseFrame("JShell"); frame.setIconImage(GUIHelper.getIcon("jshell.gif").getImage()); frame.getContentPane().setLayout(new BorderLayout()); frame.getContentPane().add(panel, BorderLayout.CENTER); frame.setSize(1200, 900); frame.setDefaultCloseOperation(BaseFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); } }