@Override public void update(Observable arg0, Object arg1) { if (arg1 instanceof String) { String message = arg1.toString(); if (message.startsWith("Forwarding: ")) { ForwardButton.setText("Stop Forwarding"); SetChannelButton.setEnabled(false); BlockButton.setEnabled(false); Send.setEnabled(false); MessageInput.setEnabled(false); MessageDisplay.setEnabled(false); Availability.setEnabled(false); } else if (message.startsWith("End Forwarding:")) { ForwardButton.setText("Forward"); SetChannelButton.setEnabled(true); BlockButton.setEnabled(true); Send.setEnabled(true); MessageInput.setEnabled(true); MessageDisplay.setEnabled(true); Availability.setEnabled(true); } else if (message.startsWith("#send")) { try { client.sendToServer(message.substring(6)); } catch (IOException e) { e.printStackTrace(); } return; } else if (message.startsWith("#linedraw")) { drawPad.updateDraw(message); return; } else if (message.startsWith("Login Error:")) { java.awt.EventQueue.invokeLater( new Runnable() { public void run() { chatFrame.setVisible(false); LoginGUI login = new LoginGUI(true); } }); } if (!message.substring(message.length() - 1, message.length()).equals("\n")) message += "\n"; // Update UI display safely final String msg = message; SwingUtilities.invokeLater( new Runnable() { public void run() { MessageDisplay.append(msg); } }); } }
private void initSouth() { listButton = new JToggleButton(); listButton.setIcon( new javax.swing.ImageIcon( getClass().getResource("/org/gephi/desktop/ranking/resources/list.png"))); // NOI18N NbBundle.getMessage(RankingTopComponent.class, "RankingTopComponent.listButton.text"); listButton.setEnabled(false); listButton.setFocusable(false); southToolbar.add(listButton); /*barChartButton = new JToggleButton(); barChartButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/gephi/desktop/ranking/resources/barchart.png"))); // NOI18N NbBundle.getMessage(RankingTopComponent.class, "RankingTopComponent.barchartButton.text"); barChartButton.setEnabled(false); barChartButton.setFocusable(false); southToolbar.add(barChartButton);*/ // BarChartPanel & ListPanel listResultPanel.setVisible(false); listButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { model.setListVisible(listButton.isSelected()); } }); /*barChartButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { model.setBarChartVisible(barChartButton.isSelected()); } });*/ }
protected void makeElementsNotEditable() { final ActionListener actionListener = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { if (e.getSource() instanceof JCheckBox) { final JCheckBox checkbox = (JCheckBox) e.getSource(); checkbox.setSelected(!checkbox.isSelected()); } } }; for (final String key : new String[] {"ctnBody"}) { final Object component = result.get(key); if ((component != null)) { if (component instanceof JCheckBox) { ((JCheckBox) component).addActionListener(actionListener); } else if (component instanceof JToggleButton) { ((JToggleButton) component).setEnabled(false); } else if (component instanceof JButton) { ((JButton) component).setEnabled(false); } else if (component instanceof JTextComponent) { ((JTextComponent) component).setEditable(false); } } } }
public CategoryToolbar() { // Init components elementGroup = new javax.swing.ButtonGroup(); for (final String elmtType : AppearanceUIController.ELEMENT_CLASSES) { JToggleButton btn = new JToggleButton(); btn.setFocusPainted(false); String btnLabel = elmtType; try { btnLabel = NbBundle.getMessage( AppearanceToolbar.class, "AppearanceToolbar." + elmtType + ".label"); } catch (MissingResourceException e) { } btn.setText(btnLabel); btn.setEnabled(false); btn.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controller.setSelectedElementClass(elmtType); } }); elementGroup.add(btn); add(btn); } box = new javax.swing.JLabel(); addSeparator(); box.setMaximumSize(new java.awt.Dimension(32767, 32767)); add(box); }
public void addSequences() { JFileChooser choose = new JFileChooser("Add sequence(s)..."); choose.setCurrentDirectory(new File(System.getProperty("user.dir"))); if (choose.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { inFile = choose.getSelectedFile(); // System.out.println(inFile.toString().substring(inFile.toString().length()-3,inFile.toString().length())); if (!(inFile.toString().endsWith(".fasta") || inFile.toString().endsWith(".fas"))) { // ErrorMessage.showPane(this, "File is not a valid Fasta file.", true); // return; } FileFormatReader reader = new FastaReader(); try { manager.inputData.seqs.alphabet = ""; manager.inputData.seqs.add(reader.read(inFile)); manager.inputgui.updateSequences(); manager.fullPath = inFile.getAbsolutePath(); if (manager.inputData.model != null) { try { manager.inputData.model.acceptable(manager.inputData.seqs); } catch (RecognitionError e) { tryModels(); } } else { tryModels(); } if (manager.inputData.model != null) { runItem.setEnabled(true); runButton.setEnabled(true); if (!manager.inputData.seqs.isRNA()) { rnaButton.setEnabled(false); } else { rnaButton.setEnabled(true); RNAPopup.showPane(this); } } } catch (IOException e) { ErrorMessage.showPane(this, "An I/O error occured while reading input file.", true); } catch (ExceptionNonFasta e) { ErrorMessage.showPane( this, "The input sequences do not appear to be in Fasta format.", true); } } }
private JToggleButton addToggleButton(Action a) { JToggleButton tb = new JToggleButton((String) a.getValue(Action.NAME), null); tb.setEnabled(a.isEnabled()); tb.setToolTipText((String) a.getValue(Action.SHORT_DESCRIPTION)); tb.setAction(a); add(tb); return tb; }
public void syncPanel() { if (SeaMark.EntMAP.get(dlg.panelMain.mark.getObject()) == Ent.MOORING) { mooringButton.setBorderPainted(true); categoryBox.setVisible(false); mooringBox.setVisible(true); pillarButton.setEnabled(false); sparButton.setEnabled(false); beaconButton.setEnabled(false); towerButton.setEnabled(false); stakeButton.setEnabled(false); cairnButton.setEnabled(false); noticeButton.setEnabled(false); topmarkButton.setVisible(false); for (Cat cat : moorings.keySet()) { int item = moorings.get(cat); if (dlg.panelMain.mark.getCategory() == cat) mooringBox.setSelectedIndex(item); } } else { mooringButton.setBorderPainted(false); mooringBox.setVisible(false); categoryBox.setVisible(true); pillarButton.setEnabled(true); sparButton.setEnabled(true); beaconButton.setEnabled(true); towerButton.setEnabled(true); stakeButton.setEnabled(true); cairnButton.setEnabled(true); noticeButton.setEnabled(true); topmarkButton.setBorderPainted(dlg.panelMain.mark.getTopmark() != Top.NOTOP); topmarkButton.setSelected(dlg.panelMain.mark.getTopmark() != Top.NOTOP); topmarkButton.setVisible(dlg.panelMain.mark.testValid()); for (Cat cat : categories.keySet()) { int item = categories.get(cat); if (dlg.panelMain.mark.getCategory() == cat) categoryBox.setSelectedIndex(item); } } for (Shp shp : shapes.keySet()) { JRadioButton button = shapes.get(shp); if (dlg.panelMain.mark.getShape() == shp) { button.setBorderPainted(true); } else button.setBorderPainted(false); } noticeButton.setBorderPainted(false); dlg.panelMain.mark.testValid(); }
private void refreshEnable() { boolean modelEnabled = isModelEnabled(); // barChartButton.setEnabled(modelEnabled); listButton.setEnabled(modelEnabled); rankingChooser.setEnabled(modelEnabled); rankingToolbar.setEnabled(modelEnabled); listResultPanel.setEnabled(modelEnabled); }
protected void enableEdition(boolean enable) { importmi.setEnabled(enable); savemi.setEnabled(enable); sizesl.setEnabled(enable); sizetf.setEnabled(enable); colorbt.setEnabled(enable); resetbt.setEnabled(enable); savebt.setEnabled(enable); eraserbt.setEnabled(enable); }
/** * Enable or disable various UI elements * * @param enable */ private void enableSettingsMode(boolean enable) { textFieldStepsize.setEnabled(enable); btnStepToMarker.setEnabled(enable); btnStep.setEnabled(enable); slider.setEnabled(enable); textFieldDistFallofExp.setEnabled(enable); textFieldTriDissimilarity.setEnabled(enable); textFieldMinTriAngle.setEnabled(enable); textFieldBadTriPen.setEnabled(enable); btnDisplayTriangles.setEnabled(enable); btnRefresh.setEnabled(enable); tglbtnMouseMode.setEnabled(enable); }
/** Open button has been pushed, create the actual display connection */ void openPortButtonActionPerformed(java.awt.event.ActionEvent e) { log.info("Open button pushed"); // can't change this anymore openPortButton.setEnabled(false); portBox.setEnabled(false); // Open the port openPort((String) portBox.getSelectedItem(), "JMRI"); // start the reader readerThread = new Thread(new Reader()); readerThread.start(); // enable buttons checkButton.setEnabled(true); log.info("Open button processing complete"); }
public void setEnabled(boolean bEnable) { super.setEnabled(bEnable); btnDraw.setEnabled(bEnable); btnPen.setEnabled(bEnable); btnCalibrate.setEnabled(bEnable); btnSpline.setEnabled(bEnable); btnTextTool.setEnabled(bEnable); btnRulerTool.setEnabled(bEnable); }
public void disableAllButtons() { openItem.setEnabled(false); openButton.setEnabled(false); runItem.setEnabled(false); runButton.setEnabled(false); pauseItem.setEnabled(true); pauseButton.setEnabled(true); resumeItem.setEnabled(false); stopItem.setEnabled(true); stopButton.setEnabled(true); rnaButton.setEnabled(false); }
@Override public void actionPerformed(ActionEvent e) { if (e.getSource().equals(rt)) { view.onUserEvent("rt", tweet); JToggleButton b = (JToggleButton) rt; b.setEnabled(false); } else if (e.getSource().equals(fav)) { JToggleButton b = (JToggleButton) fav; if (b.isSelected()) { view.onUserEvent("fav", tweet); } else { view.onUserEvent("unfav", tweet); } } else if (e.getSource().equals(rep)) { view.onUserEvent("reply", tweet); } }
/** Enables several menu items that were kept disabled during the run. */ public void finished() { openItem.setEnabled(true); openButton.setEnabled(true); runItem.setEnabled(true); runButton.setEnabled(true); rnaButton.setEnabled(true); // rnaButton.setSelected(false); pauseItem.setEnabled(false); pauseButton.setEnabled(false); resumeItem.setEnabled(false); resumeButton.setEnabled(false); stopItem.setEnabled(false); stopButton.setEnabled(false); statusText.setText(MainFrame.IDLE_STATUS_MESSAGE); // SavedFilesPopup.showPane(this); }
public void deactivateRNA() { int count = 0; if (manager.postProcMan.rnaMode) { for (Postprocess plugin : pluginTabs) { if (plugin.rnaAssociated) { plugin.reloadPanel(); tabPluginMap.remove(plugin); tab.remove(count + 1); count--; } count++; } } manager.postProcMan.rnaMode = false; rnaButton.setSelected(false); rnaButton.setEnabled(false); }
JToggleButton addDecoderIdentButton() { JToggleButton iddecoder = new JToggleButton(Bundle.getMessage("ButtonReadType")); iddecoder.setToolTipText(Bundle.getMessage("TipSelectType")); if (jmri.InstanceManager.getNullableDefault(jmri.ProgrammerManager.class) != null && jmri.InstanceManager.getDefault(jmri.ProgrammerManager.class).getGlobalProgrammer() != null && !jmri.InstanceManager.getDefault(jmri.ProgrammerManager.class) .getGlobalProgrammer() .getCanRead()) { // can't read, disable the button iddecoder.setEnabled(false); iddecoder.setToolTipText(Bundle.getMessage("TipNoRead")); } iddecoder.addActionListener( new ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { startIdentifyDecoder(); } }); return iddecoder; }
public void initComponents(NceSystemConnectionMemo m) throws Exception { this.memo = m; // populate the GUI, invoked as part of startup // load the port selection part portBox.setToolTipText("Select the port to use"); portBox.setAlignmentX(JLabel.LEFT_ALIGNMENT); Vector<String> v = getPortNames(); for (int i = 0; i < v.size(); i++) { portBox.addItem(v.elementAt(i)); } openPortButton.setText("Open"); openPortButton.setToolTipText("Configure program to use selected port"); openPortButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { try { openPortButtonActionPerformed(evt); // } catch (jmri.jmrix.SerialConfigException ex) { // log.error("Error while opening port. Did you select the right one?\n"+ex); } catch (java.lang.UnsatisfiedLinkError ex) { log.error("Error while opening port. Did you select the right one?\n" + ex); } } }); { JSeparator js = new JSeparator(); js.setMaximumSize(new Dimension(10000, 10)); add(js); } JPanel p1 = new JPanel(); p1.setLayout(new FlowLayout()); p1.add(new JLabel("Serial port: ")); p1.add(portBox); p1.add(openPortButton); p1.setMaximumSize(p1.getPreferredSize()); add(p1); // add user part of GUI { JSeparator js = new JSeparator(); js.setMaximumSize(new Dimension(10000, 10)); add(js); } JPanel p2 = new JPanel(); { JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); checkButton.setToolTipText("?"); checkButton.setEnabled(false); p.add(checkButton); checkButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { if (checkButton.isSelected()) { sendBytes(new byte[] {(byte) '?'}); checkButton.setText("Res."); checkButton.setToolTipText("Resume packet monitoring"); } else { sendBytes(new byte[] {(byte) ' '}); checkButton.setText("Info"); checkButton.setToolTipText("?"); } } }); truncateCheckBox.setToolTipText("Check this box to suppress identical packets"); p.add(truncateCheckBox); p2.add(p); } { JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Verbose"); b.setToolTipText("V"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'V'}); } }); b = new JRadioButton("Hex with preamble symbol"); b.setToolTipText("H0"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '0'}); } }); p2.add(p); b = new JRadioButton("(as above with spaces)"); b.setToolTipText("H1"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '1'}); } }); p2.add(p); b = new JRadioButton("Hex without preamble symbol"); b.setToolTipText("H2"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '2'}); } }); p2.add(p); b = new JRadioButton("(as above with spaces)"); b.setToolTipText("H3"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '3'}); } }); p2.add(p); b = new JRadioButton("Hex with preamble count in hex"); b.setToolTipText("H4"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '4'}); } }); p2.add(p); b = new JRadioButton("(as above with spaces)"); b.setToolTipText("H5"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'H', (byte) '5'}); } }); p2.add(p); } // end hex/verbose group { // start acc off/on JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Hide acc packets"); b.setToolTipText("A-"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'A', (byte) '-'}); } }); b = new JRadioButton("Show acc packets"); b.setToolTipText("A+"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'A', (byte) '+'}); } }); p2.add(p); } // end acc off/on { // start idle off/on JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Hide idle packets"); b.setToolTipText("I-"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'I', (byte) '-'}); } }); b = new JRadioButton("Show idle packets"); b.setToolTipText("I+"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'I', (byte) '+'}); } }); p2.add(p); } // end idle off/on { // start loco off/on JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; locoSpeedButton.setToolTipText("L-"); g.add(locoSpeedButton); p.add(locoSpeedButton); locoSpeedButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'L', (byte) '-'}); } }); b = new JRadioButton("Show loco packets"); b.setToolTipText("L+"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'L', (byte) '+'}); } }); p2.add(p); } // end loco off/on { // start reset off/on JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Hide reset packets"); b.setToolTipText("R-"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'R', (byte) '-'}); } }); b = new JRadioButton("Show reset packets"); b.setToolTipText("R+"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'R', (byte) '+'}); } }); p2.add(p); } // end reset off/on { // start signal on/off JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Hide signal packets"); b.setToolTipText("S-"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'S', (byte) '-'}); } }); b = new JRadioButton("Show signal packets"); b.setToolTipText("S+"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'S', (byte) '+'}); } }); p2.add(p); } // end signal off/on { // Monitor command acc single/double JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); JLabel t = new JLabel("Monitor Command"); p.add(t); ButtonGroup g = new ButtonGroup(); JRadioButton b; b = new JRadioButton("Acc addresses single"); b.setToolTipText("AS"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'A', (byte) 'S'}); } }); b = new JRadioButton("Acc addresses paired"); b.setToolTipText("AP"); g.add(b); p.add(b); b.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendBytes(new byte[] {(byte) 'A', (byte) 'P'}); } }); p2.add(p); } // end acc single/double p2.setMaximumSize(p2.getPreferredSize()); JScrollPane ps = new JScrollPane(p2); ps.setMaximumSize(ps.getPreferredSize()); ps.setVisible(true); add(ps); }
public void enablePolygonButton(boolean enable) { if (polygonButton != null) { polygonButton.setEnabled(enable); } }
public ToolBox(final MainFrame mf) { JPanel container = new JPanel(); container.setBackground(new Color(0xF2F2F5)); add(container); container.setLayout(new GridLayout(0, 3, 3, 3)); setBackground(new Color(0xF2F2F5)); ButtonGroup group = new ButtonGroup(); for (int i = 0; i < 7; i++) { JToggleButton btn = new JToggleButton(); buttons.add(btn); btn.setPreferredSize(new Dimension(35, 35)); btn.setMinimumSize(new Dimension(35, 35)); btn.setMaximumSize(new Dimension(35, 35)); group.add(btn); container.add(btn); } final JToggleButton jButtonSelect = buttons.get(0); jButtonSelect.setIcon(new ImageIcon(getClass().getResource("icons/tool-select.png"))); jButtonSelect.setEnabled(true); jButtonSelect.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(SelectCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); } }); final JToggleButton jButtonMove = buttons.get(1); jButtonMove.setIcon(new ImageIcon(getClass().getResource("icons/tool-move.png"))); jButtonMove.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(MoveCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.MOVE_CURSOR)); } }); final JToggleButton jButtonZoom = buttons.get(2); jButtonZoom.setIcon(new ImageIcon(getClass().getResource("icons/tool-zoom.png"))); jButtonZoom.setEnabled(true); jButtonZoom.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(ZoomCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.N_RESIZE_CURSOR)); } }); final JToggleButton jButtonPaint = buttons.get(3); jButtonPaint.setIcon(new ImageIcon(getClass().getResource("icons/tool-paint.png"))); jButtonPaint.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(PaintCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.HAND_CURSOR)); } }); jButtonPaint.doClick(); final JToggleButton jButtonFill = buttons.get(4); jButtonFill.setIcon(new ImageIcon(getClass().getResource("icons/tool-fill.png"))); jButtonFill.setEnabled(true); jButtonFill.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(FillSelectionCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.MOVE_CURSOR)); } }); final JToggleButton jButtonErase = buttons.get(5); jButtonErase.setIcon(new ImageIcon(getClass().getResource("icons/tool-erase.png"))); jButtonErase.setEnabled(true); jButtonErase.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(EraseCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); } }); final JToggleButton jButtonPick = buttons.get(6); jButtonPick.setIcon(new ImageIcon(getClass().getResource("icons/tool-pick.png"))); jButtonPick.setEnabled(true); jButtonPick.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { mf.setActiveTool(PickCommand.class); mf.getShowcase().setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); } }); }
/** The only constructor of the class. It launches the main window. */ @SuppressWarnings("unchecked") public MainFrame() throws Exception { super("StatAlign " + StatAlign.version); try { String syslook = UIManager.getSystemLookAndFeelClassName(); if (!UIManager.getLookAndFeel().getClass().getName().equals(syslook)) { UIManager.setLookAndFeel(syslook); SwingUtilities.updateComponentTreeUI(this); } } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex); } ArrayList<Class<?>> substModList = new ArrayList<Class<?>>(); for (String model : Utils.classesInPackage(SubstitutionModel.class.getPackage().getName() + ".plugins")) { try { Class<?> cl = Class.forName(model); /* Only include non-abstract substitution models that extend SubstitutionModel */ if (!Modifier.isAbstract(cl.getModifiers()) && SubstitutionModel.class.isAssignableFrom(cl)) substModList.add(cl); } catch (Exception ex) { } } substModels = (Class<? extends SubstitutionModel>[]) substModList.toArray(new Class<?>[substModList.size()]); manager = new MainManager(this); mcmcSettingsDlg = new McmcSettingsDlg(this); setMinimumSize(new Dimension(500, 250)); /// /// Creates the MenuBar and the ToolBar /// toolBar = new JToolBar(); toolBar.setFloatable(false); toolBar.setRollover(true); JMenuBar menubar = new JMenuBar(); JMenu menu = new JMenu("File"); menu.setMnemonic(KeyEvent.VK_F); JMenuItem item; String openText = "Add sequence(s)..."; ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource("icons/open.png")); openItem = createMenuItem(openText, true); openItem.setAccelerator(KeyStroke.getKeyStroke("control O")); openItem.setMnemonic(KeyEvent.VK_A); openItem.setIcon(icon); menu.add(openItem); openButton = createButton(icon, "Add sequence(s)..."); toolBar.add(openButton); toolBar.addSeparator(); JMenuItem ioPreferencesItem = createMenuItem("Preferences...", true); ioPreferencesItem.setAccelerator(KeyStroke.getKeyStroke("control 1")); ioPreferencesItem.setMnemonic(KeyEvent.VK_P); menu.add(ioPreferencesItem); menu.addSeparator(); item = createMenuItem("Exit", true); item.setAccelerator(KeyStroke.getKeyStroke("alt F4")); item.setMnemonic(KeyEvent.VK_X); menu.add(item); menubar.add(menu); // menu = new JMenu("Edit"); // menu.setMnemonic(KeyEvent.VK_E); // item = new JMenuItem("Cut"); // item.addActionListener(this); // item.setAccelerator(KeyStroke.getKeyStroke("control X")); // menu.add(item); // item = new JMenuItem("Copy"); // item.addActionListener(this); // item.setAccelerator(KeyStroke.getKeyStroke("control C")); // menu.add(item); // item = new JMenuItem("Paste"); // item.addActionListener(this); // item.setAccelerator(KeyStroke.getKeyStroke("control V")); // menu.add(item); // menubar.add(menu); menu = new JMenu("Analysis"); menu.setMnemonic(KeyEvent.VK_M); // item = createMenuItem("Settings", true); // item.setAccelerator(KeyStroke.getKeyStroke("control M")); // item.setMnemonic(KeyEvent.VK_S); // menu.add(item); String runText = "Set up and run"; icon = new ImageIcon(ClassLoader.getSystemResource("icons/play.png")); runItem = createMenuItem(runText, false); runItem.setAccelerator(KeyStroke.getKeyStroke("control ENTER")); runItem.setIcon(icon); menu.add(runItem); menu.addSeparator(); runButton = createButton(icon, runText); runButton.setEnabled(false); toolBar.add(runButton); String pauseText = "Pause"; icon = new ImageIcon(ClassLoader.getSystemResource("icons/pause.png")); pauseItem = createMenuItem("Pause", false); pauseItem.setIcon(icon); menu.add(pauseItem); pauseButton = createButton(icon, pauseText); pauseButton.setEnabled(false); toolBar.add(pauseButton); String resumeText = "Resume"; icon = new ImageIcon(ClassLoader.getSystemResource("icons/resume.png")); resumeItem = createMenuItem(resumeText, false); resumeItem.setIcon(icon); menu.add(resumeItem); resumeButton = createButton(icon, resumeText); resumeButton.setEnabled(false); toolBar.add(resumeButton); String stopText = "Stop"; icon = new ImageIcon(ClassLoader.getSystemResource("icons/stop.png")); stopItem = createMenuItem("Stop", false); stopItem.setIcon(icon); menu.add(stopItem); menubar.add(menu); stopButton = createButton(icon, stopText); stopButton.setEnabled(false); toolBar.add(stopButton); String rnaText = "RNA mode"; rnaButton = createToggleButton(new ImageIcon(ClassLoader.getSystemResource("icons/rna1.png")), rnaText); rnaButton.setEnabled(false); rnaButton.setSelected(false); toolBar.add(rnaButton); // String settingsText = "Settings"; // JButton settingsButton = createButton(new ImageIcon(ClassLoader. // getSystemResource("icons/settings.png")), settingsText); // toolBar.add(settingsButton); menu = new JMenu("Model"); menu.setMnemonic(KeyEvent.VK_L); modelButtons = new JMenuItem[substModels.length]; ButtonGroup modelGroup = new ButtonGroup(); HashMap<String, ArrayList<Class<? extends SubstitutionModel>>> substModTypes = new HashMap<String, ArrayList<Class<? extends SubstitutionModel>>>(); for (Class<? extends SubstitutionModel> cl : substModels) { String type = SubstitutionModel.getType(cl); ArrayList<Class<? extends SubstitutionModel>> arr = substModTypes.get(type); if (arr == null) substModTypes.put(type, arr = new ArrayList<Class<? extends SubstitutionModel>>()); arr.add(cl); } String[] typeArr = new String[substModTypes.keySet().size()]; int s = 0; if (typeArr.length >= 2) { typeArr[0] = "protein"; // amino acid subst models first typeArr[1] = "nucleotide"; // then nucleotide models, then the rest s = 2; } for (String type : substModTypes.keySet()) { if (!type.equals("protein") && !type.equals("nucleotide")) typeArr[s++] = type; } s = 0; for (String type : typeArr) { if (s > 0) menu.addSeparator(); for (Class<? extends SubstitutionModel> cl : substModTypes.get(type)) { String name = SubstitutionModel.getMenuName(cl); item = new JRadioButtonMenuItem(name); item.addActionListener(this); modelButtons[s++] = item; modelGroup.add(item); menu.add(item); } } modelGroup.clearSelection(); menubar.add(menu); /*menu = new JMenu("View"); menu.setMnemonic(KeyEvent.VK_V); JMenuItem zoomInItem = new JMenuItem("Zoom in"); zoomInItem.setEnabled(false); zoomInItem.addActionListener(this); menu.add(zoomInItem); JMenuItem zoomOutItem = new JMenuItem("Zoom out"); zoomOutItem.setEnabled(false); zoomOutItem.addActionListener(this); menu.add(zoomOutItem); JMenuItem autofitItem = new JMenuItem("Fit to frame"); autofitItem.setEnabled(false); autofitItem.addActionListener(this); menu.add(autofitItem); menubar.add(menu);*/ menu = new JMenu("Help"); menu.setMnemonic(KeyEvent.VK_H); item = new JMenuItem("About..."); item.addActionListener(this); menu.add(item); menu.addSeparator(); item = new JMenuItem("Help for users"); item.addActionListener(this); menu.add(item); menu.addSeparator(); item = new JMenuItem("Html doc for developers"); item.addActionListener(this); menu.add(item); item = new JMenuItem("Description of plugins"); item.addActionListener(this); menu.add(item); menubar.add(menu); setJMenuBar(menubar); add(toolBar, BorderLayout.PAGE_START); /// /// Creates the main panel /// Container cp = getContentPane(); JPanel mainPanel = new JPanel(new BorderLayout()); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); mainPanel.setMinimumSize(new Dimension(screenSize.width / 3, screenSize.height / 3)); mainPanel.setMaximumSize(new Dimension(screenSize.width, screenSize.height)); mainPanel.setPreferredSize(new Dimension(screenSize.width / 2, screenSize.height / 2)); tab = new JTabbedPane(); input = new Input(manager); tab.addTab(input.getTabName(), input.getIcon(), input.getJPanel(), input.getTip()); manager.inputgui = input.inputgui; // Sorts the tab according to their getTabOrder() pluginTabs = manager.postProcMan.plugins.clone(); Arrays.sort( pluginTabs, new Comparator<Postprocess>() { @Override public int compare(Postprocess firstTab, Postprocess secondTab) { return Double.compare(firstTab.getTabOrder(), secondTab.getTabOrder()); } }); tabPluginMap = new HashMap<Integer, Postprocess>(); for (int i = 0; i < pluginTabs.length; i++) { Postprocess plugin = pluginTabs[i]; if (plugin.selected && !plugin.rnaAssociated) { tabPluginMap.put(i + 1, plugin); // TODO: Jesus Java, horrible. tab.addTab(plugin.getTabName(), plugin.getIcon(), plugin.getJPanel(), plugin.getTip()); } } tab.addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent changeEvent) { JTabbedPane pane = (JTabbedPane) changeEvent.getSource(); Integer i = pane.getSelectedIndex(); // Remove the last tabs toolbar items. if (lastSelectedTabIndex != -1) { Postprocess lastPlugin = tabPluginMap.get(lastSelectedTabIndex); if (lastPlugin != null && lastPlugin.hasToolBar) { for (JComponent item : lastPlugin.getToolBarItems()) { toolBar.remove(item); } toolBar.revalidate(); // TODO: optimize. toolBar.repaint(); } } // Add the currents tab toolbar items. Postprocess plugin = tabPluginMap.get(i); if (plugin != null && plugin.hasToolBar) { for (JComponent item : plugin.getToolBarItems()) { toolBar.add(item); } toolBar.revalidate(); toolBar.repaint(); } lastSelectedTabIndex = i; } }); mainPanel.add(tab, BorderLayout.CENTER); cp.add(mainPanel, BorderLayout.CENTER); JPanel statusBar = new JPanel(new BorderLayout()); statusText = new JLabel(IDLE_STATUS_MESSAGE); statusBar.add(statusText, BorderLayout.CENTER); cp.add(statusBar, BorderLayout.SOUTH); // setSize(300, 200); // setLocationByPlatform(true); // setLocation(screenSize.width/4,screenSize.height/4); pack(); setBounds( screenSize.width / 5 - 15, screenSize.height / 5 - 15, screenSize.width * 3 / 5 + 30, screenSize.height * 3 / 5 + 30); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); }
void setCardEnabled(DevCardType cardType, boolean enabled) { JToggleButton button = devCards.get(cardType); button.setEnabled(enabled); }
/** * Wird aufgerufen, wenn ein FSM-Programm gestartet bzw. gestoppt wird. Während einer * Programm-Ausführung sollte das Programm nicht verändert werden können (locked == true) */ public void setLocked(boolean locked) { if (locked) { this.setEnabled(false); this.automataPanel.setLocked(true); editMode.setEnabled(false); deleteMode.setEnabled(false); createState.setEnabled(false); markStartState.setEnabled(false); markFinalState.setEnabled(false); createTransistion.setEnabled(false); createComment.setEnabled(false); zoomIn.setEnabled(false); zoomOut.setEnabled(false); layout.setEnabled(false); nondeterministic.setEnabled(false); deterministic.setEnabled(false); } else { this.setEnabled(true); this.automataPanel.setLocked(false); editMode.setEnabled(true); deleteMode.setEnabled(true); createState.setEnabled(true); markStartState.setEnabled(true); markFinalState.setEnabled(true); createTransistion.setEnabled(true); createComment.setEnabled(true); zoomIn.setEnabled(true); zoomOut.setEnabled(true); layout.setEnabled(true); nondeterministic.setEnabled(true); deterministic.setEnabled(true); } }