public void actionPerformed(ActionEvent e) { boolean isOffline = !Main.pref.getBoolean(ConfigKeys.OSB_API_OFFLINE); // inform the dialog about the connection mode dialog.setConnectionMode(isOffline); // set the new value in the preferences Main.pref.put(ConfigKeys.OSB_API_OFFLINE, isOffline); // toggle the tooltip text if (e.getSource() != null && e.getSource() instanceof JToggleButton) { JToggleButton button = (JToggleButton) e.getSource(); if (isOffline) { button.setToolTipText(MSG_ONLINE); if (Main.pref.getBoolean(ConfigKeys.OSB_BUTTON_LABELS)) { button.setText(MSG_ONLINE); } } else { button.setToolTipText(MSG_OFFLINE); if (Main.pref.getBoolean(ConfigKeys.OSB_BUTTON_LABELS)) { button.setText(MSG_OFFLINE); } } } if (!isOffline) { if (actionQueue.getSize() == 0) { dialog.hideQueuePanel(); return; } // if we switch to online mode, ask if the queue should be processed int result = JOptionPane.showConfirmDialog( Main.parent, tr("You have unsaved changes in your queue. Do you want to submit them now?"), tr("OpenStreetBugs"), JOptionPane.YES_NO_OPTION); if (result == JOptionPane.YES_OPTION) { try { actionQueue.processQueue(); // toggle queue panel visibility, if now error occurred dialog.hideQueuePanel(); // refresh, if the api is enabled if (!Main.pref.getBoolean(ConfigKeys.OSB_API_DISABLED)) { plugin.updateData(); } } catch (Exception e1) { System.err.println("Couldn't process action queue"); e1.printStackTrace(); } } } else { dialog.showQueuePanel(); } }
@Override public List<AbstractButton> getButtons() { List<AbstractButton> buttons = new ArrayList<AbstractButton>(); // JToggleButton and JButton are both javax.swing.AbstractButton // Toggle button JToggleButton buttonPoint = new JToggleButton(); buttonPoint.setMargin(new Insets(0, 0, 0, 0)); buttonPoint.setMinimumSize(new Dimension(16, 16)); buttonPoint.setToolTipText("Mark reference point"); try { buttonPoint.setIcon(new ImageIcon(StamperPS.class.getResource("icons/markPoint.png"))); } catch (Exception e) { e.printStackTrace(); } buttonPoint.addItemListener( new ItemListener() { @Override public void itemStateChanged(ItemEvent itemEvent) { int state = itemEvent.getStateChange(); if (state == ItemEvent.SELECTED) { toggleMarkReferencePoint(true); } else { toggleMarkReferencePoint(false); } } }); buttonPoint.setToolTipText("Mark reference point"); buttonPoint.setMargin(new Insets(0, 0, 0, 0)); buttonPoint.setMinimumSize(new Dimension(16, 16)); buttons.add(buttonPoint); // Clear Points button JButton buttonClearPoints = new JButton(); buttonClearPoints.setMargin(new Insets(0, 0, 0, 0)); buttonClearPoints.setMinimumSize(new Dimension(16, 16)); buttonClearPoints.setToolTipText("Clear marked points"); try { buttonClearPoints.setIcon( new ImageIcon(StamperPS.class.getResource("icons/markPointClear.png"))); } catch (Exception e) { e.printStackTrace(); } buttonClearPoints.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { clearMarkedPoints(); } }); buttons.add(buttonClearPoints); return buttons; }
private void setBreak(boolean isBreak) { this.isBreak = isBreak; chkTrapRequest.setSelected(isBreak); chkTrapResponse.setSelected(isBreak); if (isBreak) { btnBreak.setIcon(new ImageIcon(getClass().getResource("/resource/icons/delete.png"))); btnBreak.setToolTipText(Constant.messages.getString("brk.toolbar.button.unset")); } else { btnBreak.setIcon(new ImageIcon(getClass().getResource("/resource/icons/add.png"))); btnBreak.setToolTipText(Constant.messages.getString("brk.toolbar.button.set")); } }
private void addButtonToPropertySheetPanel() { showAllVPButton = new JToggleButton(); showAllVPButton.setText("Show All"); showAllVPButton.setToolTipText("Show all Visual Properties"); showAllVPButton.setSelected(PropertySheetUtil.isAdvancedMode()); showAllVPButton.setUI(new BlueishButtonUI()); showAllVPButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { viewModeAction.menuSelected(null); viewModeAction.actionPerformed(null); } }); // This is a hack: get private component and add button. Field[] fields = PropertySheetPanel.class.getDeclaredFields(); for (Field f : fields) { if (f.getName().equals("actionPanel")) { f.setAccessible(true); try { JPanel buttonPanel = (JPanel) f.get(propertySheetPanel); buttonPanel.add(showAllVPButton); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } }
public static JToggleButton createToolbarCheckBox( final Icon icon, final String label, final boolean initState, final ActionListener actionListener) { final JToggleButton widget; if (icon == null) { widget = new JToggleButton(label); } else { widget = new JToggleButton(icon); widget.setToolTipText(label); } widget.putClientProperty(SubstanceLookAndFeel.FLAT_PROPERTY, Boolean.TRUE); widget.putClientProperty(SubstanceLookAndFeel.BUTTON_NO_MIN_SIZE_PROPERTY, Boolean.TRUE); if (actionListener != null) { widget.addActionListener(actionListener); } widget.setSelected(initState); return widget; }
private JToggleButton createToggleButton(Icon icon, String text) { JToggleButton button = new JToggleButton(icon); button.setToolTipText(text); button.addActionListener(this); button.setActionCommand(text); return button; }
/** * Constructs the button with the given node type and image prefix. If the node type is "Select", * constructs a button that allows nodes to be selected and moved. If the node type is "Edge", * constructs a button that allows edges to be drawn. For other node types, constructs buttons * that allow those type of nodes to be added to the workbench. If a non-null image prefix is * provided, images for <prefix>Up.gif, <prefix>Down.gif, <prefix>Off.gif and <prefix>Roll.gif are * loaded from the /images directory relative to this compiled class and used to provide up, down, * off, and rollover images for the constructed button. On construction, nodes are mapped to their * node types in the Map, <code>nodeTypes</code>. Listeners are added to the node. * * @param buttonInfo contains the info needed to construct the button. */ private JToggleButton constructButton(ButtonInfo buttonInfo) { String imagePrefix = buttonInfo.getImagePrefix(); if (imagePrefix == null) { throw new NullPointerException("Image prefix must not be null."); } JToggleButton button = new JToggleButton(); button.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { super.mouseClicked(e); setShiftDown(e.isShiftDown()); // setControlDown(e.isControlDown()); } }); if ("Select".equals(buttonInfo.getNodeTypeName())) { button.setIcon(new ImageIcon(ImageUtils.getImage(this, "move.gif"))); } else if ("Edge".equals(buttonInfo.getNodeTypeName())) { button.setIcon(new ImageIcon(ImageUtils.getImage(this, "flow.gif"))); } else { button.setName(buttonInfo.getNodeTypeName()); button.setText("<html><center>" + buttonInfo.getDisplayName() + "</center></html>"); } button.setMaximumSize(new Dimension(110, 40)); // For a vertical box. button.setToolTipText(buttonInfo.getToolTipText()); this.nodeTypes.put(button, buttonInfo.getNodeTypeName()); return button; }
protected void setup() { clear(); if (model != null) { // Add transformers buttons, separate them by element group for (String elmtType : AppearanceUIController.ELEMENT_CLASSES) { ButtonGroup buttonGroup = new ButtonGroup(); for (final TransformerCategory c : controller.getCategories(elmtType)) { // Build button Icon icon = c.getIcon(); // DecoratedIcon decoratedIcon = getDecoratedIcon(icon, t); // JToggleButton btn = new JToggleButton(decoratedIcon); JToggleButton btn = new JToggleButton(icon); btn.setToolTipText(c.getDisplayName()); btn.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controller.setSelectedCategory(c); } }); btn.setName(c.getDisplayName()); btn.setFocusPainted(false); buttonGroup.add(btn); add(btn); } buttonGroups.add(buttonGroup); } } else { elementGroup.clearSelection(); } }
public void initToolBar() { tb = new JToolBar(); tb.setFloatable(false); usezoombt = new JToggleButton("-1", XmippResource.getIcon("zoom.png")); usezoombt.setToolTipText("Keep zoom"); usezoombt.setFocusable(false); usezoombt.setSelected(true); usezoombt.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (!usezoombt.isSelected()) getParticlePicker().setZoom(-1); } }); tb.add(usezoombt); initShapePane(); tb.add(shapepn); initSizePane(); tb.add(sizepn); if (!(this instanceof ExtractPickerJFrame)) { initColorPane(getParticlePicker().getColor()); tb.add(colorpn); eraserbt = new JToggleButton(bundle.getString("eraser"), XmippResource.getIcon("eraser.png")); tb.add(eraserbt); } }
public JToggleButton addToggleButton(String key) { JToggleButton item = new JToggleButton(); item.setToolTipText(Messages.getString(key)); item.setIcon(LGM.getIconForKey(key)); item.setActionCommand(key); item.addActionListener(this); return item; }
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; }
/** Component initialization */ private void jbInit() throws Exception { getContentPane().setLayout(new BorderLayout()); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); mySelectButton.setSelected(true); mySelectButton.setToolTipText("Select and move shapes"); myCircleButton.setToolTipText("Draw a Circle"); myLineButton.setToolTipText("Draw a Line"); getContentPane().add(buttonPanel, BorderLayout.NORTH); buttonPanel.add(mySelectButton, null); buttonPanel.add(myLineButton, null); buttonPanel.add(myCircleButton, null); getContentPane().add(myDrawingPanel, BorderLayout.CENTER); ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.add(mySelectButton); buttonGroup.add(myLineButton); buttonGroup.add(myCircleButton); setSize(new Dimension(400, 300)); setTitle("Simple Draw"); mySelectButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myDrawingPanel.activateSelectionTool(); } }); myLineButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myDrawingPanel.activateLineTool(); } }); myCircleButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myDrawingPanel.activateCircleTool(); } }); }
public static JToggleButton getDFlipFlopButton() { JToggleButton button = new JToggleButton(DCDUtility.loadIconResource("DFlipFlop")); button.setMaximumSize(size); button.setActionCommand("DFLIPFLOP"); button.addItemListener(DCDUtility.getInstance()); button.setToolTipText("D FLIP-FLOP"); return (button); }
public static JToggleButton getSevenSegmentDisplayButton() { JToggleButton button = new JToggleButton(DCDUtility.loadIconResource("SevenSegmentDisplay")); button.setMaximumSize(size); button.setActionCommand("SEVENSEGMENTDISPLAY"); button.addItemListener(DCDUtility.getInstance()); button.setToolTipText("SEVEN SEGMENT DISPLAY"); return (button); }
public static JToggleButton getSteadyInputButton() { JToggleButton button = new JToggleButton(DCDUtility.loadIconResource("steadyIP")); button.setMaximumSize(size); button.setActionCommand("STEADY_INPUT"); button.addItemListener(DCDUtility.getInstance()); button.setToolTipText("STEADY_INPUT"); return (button); }
public static JToggleButton getLEDButton() { JToggleButton button = new JToggleButton(DCDUtility.loadIconResource("led")); button.setMaximumSize(size); button.setActionCommand("LED"); button.addItemListener(DCDUtility.getInstance()); button.setToolTipText("LED"); return (button); }
public static JToggleButton getToggleButton( String iconResource, String actionCommand, String tooltipText) { JToggleButton button = new JToggleButton(DCDUtility.loadIconResource(iconResource)); button.setMaximumSize(size); button.setActionCommand(actionCommand); button.addItemListener(DCDUtility.getInstance()); button.setToolTipText(tooltipText); return (button); }
private JToggleButton createButton(Container container, String tip) { final JToggleButton btn = new JToggleButton(); btn.setPreferredSize(new Dimension(40, 40)); btn.setBorder(new EmptyBorder(2, 2, 2, 2)); btn.setOpaque(true); btn.setToolTipText(tip); addMouseListener(btn); container.add(btn); return btn; }
private Component buildToolbar() { JXToolBar toolbar = UISupport.createSmallToolbar(); JToggleButton toggleButton = new JToggleButton(new TogglePropertiesAction()); toggleButton.setToolTipText("Toggles displaying of Test Properties in tree"); toggleButton.setSize(10, 12); toolbar.addFixed(toggleButton); toolbar.addGlue(); return toolbar; }
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; }
/** * Creates a diminutive toggle button used for selecting the message type * * @param title the title of the button * @param icon the icon to use * @param selected whether the button is selected or not * @param group the group to add the button to * @return the instantiated button */ private JToggleButton createMessageTypeButton( String title, ImageIcon icon, boolean selected, ButtonGroup group) { JToggleButton button = new JToggleButton(icon); group.add(button); button.setSelected(selected); button.setToolTipText(title); button.setFocusable(false); button.setFocusPainted(false); button.addActionListener(this); button.setPreferredSize(new Dimension(18, 18)); return button; }
/** * This method initializes jToggleButton * * @return javax.swing.JToggleButton */ private JToggleButton getJToggleButton() { if (jToggleButton == null) { jToggleButton = new JToggleButton(); jToggleButton.setToolTipText("switch mode"); jToggleButton.setIcon(ICON_SWITCH_MODE); jToggleButton.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { getJTextPane().setEditable(!getJTextPane().isEditable()); if (getJTextPane().isEditable()) { getJTextPane().requestFocusInWindow(); } } }); } return jToggleButton; }
public void addColorChooserPanel(final AbstractColorChooserPanel ccp) { final String displayName = ccp.getDisplayName(); if (displayName == null) { // Return if we haven't initialized yet return; } if (ccp.getClass() .getName() .equals("ch.randelshofer.quaqua.colorchooser.Quaqua15ColorPicker")) { northPanel.add(ccp, BorderLayout.WEST); } else { Icon displayIcon = ccp.getLargeDisplayIcon(); JToggleButton tb = new JToggleButton(null, displayIcon); tb.setToolTipText(displayName); tb.setFocusable(false); tb.setHorizontalTextPosition(SwingConstants.CENTER); tb.setVerticalTextPosition(SwingConstants.BOTTOM); tb.setFont(UIManager.getFont("ColorChooser.font")); tb.putClientProperty("Quaqua.Button.style", "toolBarTab"); JPanel centerView = new JPanel(new BorderLayout()); centerView.add(ccp); chooserPanelHolder.add(centerView, displayName); toolBarButtonGroup.add(tb); toolBar.add(tb); if (toolBar.getComponentCount() == 1 || lastSelectedChooserName != null && lastSelectedChooserName.equals(displayName)) { tb.setSelected(true); CardLayout cl = (CardLayout) chooserPanelHolder.getLayout(); cl.show(chooserPanelHolder, displayName); } tb.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent evt) { if (evt.getStateChange() == ItemEvent.SELECTED) { CardLayout cl = (CardLayout) chooserPanelHolder.getLayout(); cl.show(chooserPanelHolder, displayName); lastSelectedChooserName = displayName; } } }); } }
private void initToolbar() { JToolBar tbTraceFilters = new JToolBar(); tbTraceFilters.setFloatable(false); tbTraceFilters.setRollover(true); tbTraceFilters.add(new JLabel("Min time:")); txtMinTime = new JTextField(4); tbTraceFilters.add(txtMinTime); JButton btnFilterByTime = new JButton(new FilterByTimeAction()); btnFilterByTime.setFocusable(false); btnFilterByTime.setToolTipText("Filter by trace execution time"); tbTraceFilters.add(btnFilterByTime); tbTraceFilters.addSeparator(); btnFilterErrors = new JToggleButton(new FilterByErrorAction()); btnFilterErrors.setFocusable(false); btnFilterErrors.setToolTipText("Show only traces with errors"); tbTraceFilters.add(btnFilterErrors); tbTraceFilters.addSeparator(); cmbTraceType = new JComboBox(); cmbTraceType.addItem("*"); cmbTraceType.addItemListener( new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { String item = (String) e.getItem(); traceLabel = "*".equals(item) ? null : item; tbmTraces.setDataSet(dataSet, traceFilter); } } }); tbTraceFilters.add(cmbTraceType); add(tbTraceFilters, BorderLayout.NORTH); }
public PaintBar(Tool tool) { bg = new ButtonGroup(); this.tool = tool; setLayout(new GridLayout(0, 2)); Listener listener = new Listener(); for (Button b : interactButtons) { JToggleButton button = new JToggleButton( new ImageIcon(getClass().getResource("/gfx/" + b.tool.toolName + ".png"))); button.setToolTipText(b.tooltip); button.addActionListener(listener); button.setActionCommand(b.tool.toolName); button.setMargin(new Insets(2, 2, 2, 2)); if (b.tool == tool) { button.setSelected(true); } bg.add(button); add(button); } }
protected void setup() { clear(); if (model != null) { for (String elmtType : AppearanceUIController.ELEMENT_CLASSES) { for (TransformerCategory c : controller.getCategories(elmtType)) { ButtonGroup buttonGroup = new ButtonGroup(); Map<String, TransformerUI> titles = new LinkedHashMap<String, TransformerUI>(); for (TransformerUI t : controller.getTransformerUIs(elmtType, c)) { titles.put(t.getDisplayName(), t); } for (Map.Entry<String, TransformerUI> entry : titles.entrySet()) { // Build button final TransformerUI value = entry.getValue(); Icon icon = entry.getValue().getIcon(); // DecoratedIcon decoratedIcon = getDecoratedIcon(icon, t); // JToggleButton btn = new JToggleButton(decoratedIcon); JToggleButton btn = new JToggleButton(icon); btn.setToolTipText(entry.getValue().getDescription()); btn.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controller.setSelectedTransformerUI(value); } }); btn.setName(entry.getKey()); btn.setText(entry.getKey()); btn.setFocusPainted(false); buttonGroup.add(btn); add(btn); } buttonGroups.add(buttonGroup); } } } }
private JToggleButton createButton( final String icon, final String offIcon, final OptionPanel panel, String tooltip) { final JToggleButton button = new JToggleButton(); button.setToolTipText(tooltip); button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (button.isSelected()) { panel.activate(); ((CardLayout) optionPanel.getLayout()).show(optionPanel, icon); } } }); try { button.setIcon(new ImageIcon(ImageUtil.getImage(offIcon))); button.setSelectedIcon(new ImageIcon(ImageUtil.getImage(icon))); } catch (IOException ioe) { ioe.printStackTrace(); } optionPanel.add(panel, icon); buttonGroup.add(button); return button; }
private void addResultTable( final String sql, long duration, final StatementExecutionResultSetResult resultSetResult) { int rowCount = resultSetResult.getRowCount(); JPanel resultPane = addResultPane(); final JLabel label = new JLabel(" " + rowCount + " rows"); FlowLayout flowLayout = new FlowLayout(FlowLayout.LEFT, 0, 0); flowLayout.setAlignOnBaseline(true); JPanel statusPane = new JPanel(flowLayout); statusPane.setOpaque(false); if (rowCount <= resultSetResult.getRetainParsedRSDataRowCountThreshold()) { final JTableX table = new ResultTable(resultSetResult); JTableHeader tableHeader = new JTableHeader(table.getColumnModel()) { @Override public String getToolTipText(MouseEvent e) { int col = getTable().convertColumnIndexToModel(columnAtPoint(e.getPoint())); return col == 0 ? null : resultSetResult.getTypeInfos()[col - 1].toString(); } }; ToolTipManager.sharedInstance().registerComponent(tableHeader); table.setTableHeader(tableHeader); table.setDefaultRenderer( String.class, new DefaultTableCellRenderer() { @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (value != null) { value = "\"" + value + "\""; } return super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); } }); final TableCellRenderer booleanRenderer = table.getDefaultRenderer(Boolean.class); table.setDefaultRenderer( Boolean.class, new DefaultTableCellRenderer() { @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = null; if (value == null) { c = super.getTableCellRendererComponent( table, " ", isSelected, hasFocus, row, column); } else { c = booleanRenderer.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); } if (!isSelected) { c.setBackground( row % 2 == 0 ? UIManager.getColor("Table.background") : JTableX.getTableAlternateRowBackgroundColor()); } return c; } }); table.setDefaultRenderer( Timestamp.class, new DefaultTableCellRenderer() { @SuppressWarnings("deprecation") @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); if (value != null && c instanceof JLabel) { Timestamp timestamp = (Timestamp) value; String s; if (timestamp.getHours() != 0 || timestamp.getMinutes() != 0 || timestamp.getSeconds() != 0) { s = Utils.formatDateTimeGMT((Timestamp) value); } else { s = Utils.formatDateGMT((Timestamp) value); } ((JLabel) c).setText(s); } return c; } }); table.setDefaultRenderer( byte[].class, new DefaultTableCellRenderer() { @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); if (value != null && c instanceof JLabel) { byte[] bytes = (byte[]) value; ((JLabel) c).setText("Blob (" + bytes.length + " bytes)"); } return c; } }); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); table.setAutoCreateRowSorter(true); table .getRowSorter() .setSortKeys(Arrays.asList(new RowSorter.SortKey(0, SortOrder.ASCENDING))); table.setColumnSelectionAllowed(true); table.applyMinimumAndPreferredColumnSizes(200); resultPane.add(new JScrollPane(table), BorderLayout.CENTER); table .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { int selectedRowCount = table.getSelectedRowCount(); label.setText( " " + resultSetResult.getRowData().length + " rows" + (selectedRowCount == 0 ? "" : " - " + selectedRowCount + " selected rows")); } }); table.addMouseListener( new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { int row = table.rowAtPoint(e.getPoint()); int column = table.columnAtPoint(e.getPoint()); if (!table.isCellSelected(row, column)) { table.changeSelection(row, column, false, false); } maybeShowPopup(e); } @Override public void mouseReleased(MouseEvent e) { maybeShowPopup(e); } private void maybeShowPopup(MouseEvent e) { if (!e.isPopupTrigger()) { return; } boolean isEditable = resultSetResult.isEditable(); JPopupMenu menu = new JPopupMenu(); int selectedRowCount = table.getSelectedRowCount(); int selectedColumnCount = table.getSelectedColumnCount(); boolean isAddingSeparator = false; // Here to add custom menus. if (isEditable) { if (isAddingSeparator) { isAddingSeparator = false; menu.addSeparator(); } JMenuItem insertNullMenuItem = new JMenuItem("Insert NULL"); insertNullMenuItem.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int row = table.getSelectedRow(); int column = table.getSelectedColumn(); table.setValueAt(null, row, column); } }); insertNullMenuItem.setEnabled( selectedRowCount == 1 && selectedColumnCount == 1 && table.convertColumnIndexToModel(table.getSelectedColumn()) != 0); menu.add(insertNullMenuItem); menu.addSeparator(); JMenuItem deleteRowMenuItem = new JMenuItem( "Delete " + (selectedRowCount > 1 ? selectedRowCount + " rows" : "row")); deleteRowMenuItem.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int[] selectedRows = table.getSelectedRows(); for (int i = selectedRows.length - 1; i >= 0; i--) { selectedRows[i] = table.convertRowIndexToModel(selectedRows[i]); } Arrays.sort(selectedRows); for (int i = selectedRows.length - 1; i >= 0; i--) { int row = selectedRows[i]; boolean isSuccess = resultSetResult.deleteRow(row); if (isSuccess) { ((AbstractTableModel) table.getModel()).fireTableRowsDeleted(row, row); } } } }); deleteRowMenuItem.setEnabled(selectedRowCount > 0); menu.add(deleteRowMenuItem); } if (menu.getComponentCount() > 0) { menu.show(e.getComponent(), e.getX(), e.getY()); } } }); final JPanel filterPane = new JPanel(flowLayout); filterPane.setOpaque(false); final JToggleButton filterToggleButton = new JToggleButton( new ImageIcon( getClass().getResource("/org/jooq/debug/console/resources/Search16.png"))); filterToggleButton.setOpaque(false); filterToggleButton.setToolTipText( "Filter (" + KeyEvent.getKeyModifiersText(InputEvent.CTRL_MASK) + "+" + KeyEvent.getKeyText(KeyEvent.VK_F) + ")"); filterToggleButton.setMargin(new Insets(0, 0, 0, 0)); filterPane.add(filterToggleButton); final JTextField searchField = new JTextField(7); searchField .getDocument() .addDocumentListener( new DocumentListener() { @Override public void removeUpdate(DocumentEvent e) { adjustFilter(); } @Override public void insertUpdate(DocumentEvent e) { adjustFilter(); } @Override public void changedUpdate(DocumentEvent e) { adjustFilter(); } private void adjustFilter() { setFilter(table, searchField.getText()); } }); searchField.setVisible(false); filterPane.add(searchField); filterToggleButton.addItemListener( new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { boolean isActive = e.getStateChange() == ItemEvent.SELECTED; searchField.setVisible(isActive); if (isActive) { searchField.requestFocus(); } else { searchField.setText(""); table.requestFocus(); } filterPane.revalidate(); filterPane.repaint(); } }); searchField.addKeyListener( new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { e.consume(); filterToggleButton.setSelected(false); } else if (e.getKeyCode() == KeyEvent.VK_F && e.isControlDown()) { filterToggleButton.setSelected(false); } } }); table.addKeyListener( new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_F && e.isControlDown()) { e.consume(); filterToggleButton.setSelected(true); searchField.requestFocus(); searchField.selectAll(); } } }); statusPane.add(filterPane); } JPanel southResultPanel = new JPanel(new BorderLayout()); southResultPanel.setOpaque(false); if (isUsingMaxRowCount && rowCount == MAX_ROW_COUNT) { label.setForeground(Color.RED); } statusPane.add(label); southResultPanel.add(statusPane, BorderLayout.WEST); southResultPanel.add( new JLabel( Utils.formatDuration(duration) + " - " + Utils.formatDuration(resultSetResult.getResultSetParsingDuration())), BorderLayout.EAST); resultPane.add(southResultPanel, BorderLayout.SOUTH); southResultPanel.setToolTipText(sql); resultPane.revalidate(); resultPane.repaint(); }
/** Initialize the contents of the frame. */ private void initialize() { frmWow = new JFrame(); frmWow.setIconImage( Toolkit.getDefaultToolkit().getImage(Wow.class.getResource("/org/wowdoge/doge.png"))); frmWow.addWindowListener( new WindowAdapter() { @Override public void windowOpened(WindowEvent arg0) { try { if (coreWallet.getWalletFilePath() == null) { DialogStart d = new DialogStart(); d.setLocationRelativeTo(frmWow); if (d.showDialog()) { String path = d.getWalletFilePath(); File f = new File(path); coreWallet.run(f.getParentFile(), f.getName()); mnRecent.addFileToFileHistory(path); mnRecent.storeToPreferences(); } else { System.exit(0); } } else coreWallet.run(); } catch (Exception e) { JOptionPane.showMessageDialog( null, "Failed to open wallet.\nDetails:\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); try { coreWallet.stop(); } finally { System.exit(1); } // Improve! // e.printStackTrace(); } } @Override public void windowClosing(WindowEvent e) { try { coreWallet.stop(); } catch (Exception e1) { JOptionPane.showMessageDialog( null, e1.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } }); frmWow.setTitle("Wow - Doge Wallet"); frmWow.setBounds(100, 100, 819, 503); frmWow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmWow.getContentPane().setLayout(new BorderLayout(0, 0)); tabbedPane = new JTabbedPane(JTabbedPane.TOP); frmWow.getContentPane().add(tabbedPane, BorderLayout.CENTER); JPanel panelWallet = new JPanel(); tabbedPane.addTab("Wallet", null, panelWallet, null); panelWallet.setLayout(new BorderLayout(0, 0)); JSplitPane splitPaneWallet = new JSplitPane(); panelWallet.add(splitPaneWallet, BorderLayout.CENTER); JPanel panelAddresses = new JPanel(); panelAddresses.setMinimumSize(new Dimension(200, 10)); panelAddresses.setPreferredSize(new Dimension(280, 10)); splitPaneWallet.setLeftComponent(panelAddresses); panelAddresses.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPaneAddresses = new JScrollPane(); scrollPaneAddresses.setAutoscrolls(true); panelAddresses.add(scrollPaneAddresses, BorderLayout.CENTER); listAddresses = new JList(); listAddresses.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent arg0) { refreshAddressAndQRCode(); } }); scrollPaneAddresses.setViewportView(listAddresses); JToolBar toolBarAddresses = new JToolBar(); panelAddresses.add(toolBarAddresses, BorderLayout.NORTH); JButton btnNewAddress = new JButton("New Address"); btnNewAddress.setToolTipText("Create new wallet address for receiving coins"); btnNewAddress.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { coreWallet.createNewKeys(1); System.out.println(coreWallet.getKeys()); } }); btnNewAddress.setActionCommand(""); toolBarAddresses.add(btnNewAddress); JButton btnNewAddresses = new JButton("Create Multiple"); btnNewAddresses.setToolTipText("Create multiple wallet addresses for receiving coins"); btnNewAddresses.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { DialogAddress dialog = new DialogAddress(); dialog.setLocationRelativeTo(frmWow); if (dialog.showDialog()) { int number = dialog.getNumberOfAddressToCreate(); coreWallet.createNewKeys(number); System.out.println(coreWallet.getKeys()); } } }); toolBarAddresses.add(btnNewAddresses); JSplitPane splitPaneAddressAndTransactoions = new JSplitPane(); splitPaneAddressAndTransactoions.setOrientation(JSplitPane.VERTICAL_SPLIT); splitPaneWallet.setRightComponent(splitPaneAddressAndTransactoions); JPanel panelAddress = new JPanel(); panelAddress.setPreferredSize(new Dimension(10, 100)); splitPaneAddressAndTransactoions.setLeftComponent(panelAddress); panelAddress.setLayout(new BorderLayout(0, 0)); JPanel panelDogeQRMain = new JPanel(); panelDogeQRMain.setPreferredSize(new Dimension(240, 120)); panelAddress.add(panelDogeQRMain, BorderLayout.CENTER); panelDogeQRMain.setLayout(new BorderLayout(0, 0)); JPanel panelDogeQR = new JPanel(); panelDogeQRMain.add(panelDogeQR); btnDoge = new JButton(""); btnDoge.addComponentListener( new ComponentAdapter() { @Override public void componentResized(ComponentEvent e) { int min = btnDoge.getWidth() > btnDoge.getHeight() ? btnDoge.getHeight() : btnDoge.getWidth(); min = (int) (min * 0.9); // System.out.println("RESIZED"); btnDoge.setIcon( new ImageIcon( new ImageIcon(Wow.class.getResource("/org/wowdoge/doge.png")) .getImage() .getScaledInstance(min, min, Image.SCALE_SMOOTH))); } }); btnDoge.setToolTipText("Send payment"); btnDoge.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { tabbedPane.setSelectedComponent(panelAddressBook); } }); panelDogeQR.setLayout(new GridLayout(0, 2, 0, 0)); panelDogeQR.add(btnDoge); btnDoge.setIcon(new ImageIcon(Wow.class.getResource("/org/wowdoge/doge.png"))); btnDoge.setSize(new Dimension(500, 500)); btnDoge.setAlignmentX(Component.CENTER_ALIGNMENT); btnDoge.setMaximumSize(new Dimension(500, 500)); btnDoge.setMinimumSize(new Dimension(120, 120)); btnDoge.setPreferredSize(new Dimension(200, 200)); btnQRCode = new JButton(""); btnQRCode.addComponentListener( new ComponentAdapter() { @Override public void componentResized(ComponentEvent arg0) { String address = (String) listAddresses.getSelectedValue(); // System.out.println("Addres:" + address); if (address != null) { txtAddress.setText(address); btnQRCode.setIcon( new ImageIcon(new QRImage(address, btnQRCode.getWidth(), btnQRCode.getHeight()))); } } }); btnQRCode.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) {} }); btnQRCode.setToolTipText("Request payment"); panelDogeQR.add(btnQRCode); btnQRCode.setSize(new Dimension(120, 120)); btnQRCode.setAlignmentX(Component.CENTER_ALIGNMENT); btnQRCode.setMinimumSize(new Dimension(120, 120)); btnQRCode.setMaximumSize(new Dimension(500, 500)); btnQRCode.setPreferredSize(new Dimension(200, 200)); JPanel panelAddressNameBalance = new JPanel(); panelAddress.add(panelAddressNameBalance, BorderLayout.NORTH); panelAddressNameBalance.setLayout(new BoxLayout(panelAddressNameBalance, BoxLayout.Y_AXIS)); JLabel lblReceivingAddress = new JLabel(" Receiving Address:"); lblReceivingAddress.setPreferredSize(new Dimension(59, 30)); lblReceivingAddress.setAlignmentX(Component.CENTER_ALIGNMENT); panelAddressNameBalance.add(lblReceivingAddress); JPanel panel_1 = new JPanel(); panelAddressNameBalance.add(panel_1); panel_1.setLayout(new BoxLayout(panel_1, BoxLayout.X_AXIS)); txtAddress = new JTextField(); txtAddress.setPreferredSize(new Dimension(14, 30)); panel_1.add(txtAddress); txtAddress.setFont(new Font("Lucida Grande", Font.PLAIN, 18)); txtAddress.setHorizontalAlignment(SwingConstants.CENTER); txtAddress.setBackground(SystemColor.window); txtAddress.setEditable(false); txtAddress.setColumns(10); JPanel panel_2 = new JPanel(); panel_2.setVisible(false); panelAddressNameBalance.add(panel_2); panel_2.setLayout(new BoxLayout(panel_2, BoxLayout.X_AXIS)); JLabel lblDescription = new JLabel(" Name:"); lblDescription.setPreferredSize(new Dimension(55, 16)); panel_2.add(lblDescription); txtName = new JTextField(); panel_2.add(txtName); txtName.setFont(new Font("Lucida Grande", Font.PLAIN, 16)); txtName.setText("Donation"); txtName.setHorizontalAlignment(SwingConstants.CENTER); txtName.setBackground(Color.WHITE); txtName.setColumns(10); JPanel panel_3 = new JPanel(); panel_3.setVisible(false); panelAddressNameBalance.add(panel_3); panel_3.setLayout(new BoxLayout(panel_3, BoxLayout.X_AXIS)); JLabel lblBalance = new JLabel(" Balance:"); lblBalance.setPreferredSize(new Dimension(55, 16)); panel_3.add(lblBalance); txtBalance = new JTextField(); panel_3.add(txtBalance); txtBalance.setFont(new Font("Lucida Grande", Font.PLAIN, 15)); txtBalance.setText("NA"); txtBalance.setHorizontalAlignment(SwingConstants.CENTER); txtBalance.setBackground(SystemColor.window); txtBalance.setEditable(false); txtBalance.setColumns(10); JLabel lblDoge = new JLabel("DOGE"); lblDoge.setPreferredSize(new Dimension(40, 16)); panel_3.add(lblDoge); JPanel panelReceivedSent = new JPanel(); panelReceivedSent.setVisible(false); panelAddress.add(panelReceivedSent, BorderLayout.SOUTH); panelReceivedSent.setLayout(new GridLayout(0, 1, 0, 0)); JPanel panelReceived = new JPanel(); panelReceivedSent.add(panelReceived); panelReceived.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); JLabel labelReceived = new JLabel("Received:"); labelReceived.setHorizontalAlignment(SwingConstants.CENTER); labelReceived.setFont(new Font("Lucida Grande", Font.PLAIN, 13)); panelReceived.add(labelReceived); txtReceived = new JTextField(); txtReceived.setText("NA"); txtReceived.setHorizontalAlignment(SwingConstants.CENTER); txtReceived.setFont(new Font("Lucida Grande", Font.PLAIN, 13)); txtReceived.setEditable(false); txtReceived.setColumns(10); txtReceived.setBackground(SystemColor.window); panelReceived.add(txtReceived); JLabel lblDogeReceived = new JLabel("DOGE"); panelReceived.add(lblDogeReceived); JPanel panelSent = new JPanel(); panelReceivedSent.add(panelSent); panelSent.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); JLabel labelSent = new JLabel("Sent:"); labelSent.setPreferredSize(new Dimension(59, 16)); labelSent.setHorizontalAlignment(SwingConstants.CENTER); labelSent.setFont(new Font("Lucida Grande", Font.PLAIN, 13)); panelSent.add(labelSent); txtSent = new JTextField(); txtSent.setText("NA"); txtSent.setHorizontalAlignment(SwingConstants.CENTER); txtSent.setFont(new Font("Lucida Grande", Font.PLAIN, 13)); txtSent.setEditable(false); txtSent.setColumns(10); txtSent.setBackground(SystemColor.window); panelSent.add(txtSent); JLabel lblDogeSent = new JLabel("DOGE"); panelSent.add(lblDogeSent); JTable tableAddressTransactions = new JTable(); tableAddressTransactions.setVisible(false); splitPaneAddressAndTransactoions.setRightComponent(tableAddressTransactions); panelTransactions = new JPanel(); tabbedPane.addTab("Transactions", null, panelTransactions, null); panelTransactions.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPane = new JScrollPane(); scrollPane.setAutoscrolls(true); panelTransactions.add(scrollPane, BorderLayout.CENTER); tableTransactions = new JTable(); tableTransactions.setRowHeight(30); tableTransactions.setAutoscrolls(true); tableTransactions.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); tableTransactions.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); scrollPane.setViewportView(tableTransactions); panelAddressBook = new JPanel(); tabbedPane.addTab("Address Book", null, panelAddressBook, null); panelAddressBook.setLayout(new BorderLayout(0, 0)); JScrollPane scrollPaneAddressBook = new JScrollPane(); panelAddressBook.add(scrollPaneAddressBook, BorderLayout.CENTER); tableAddressBook = new JTable(); tableAddressBook.addMouseListener( new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { if (arg0.getClickCount() == 2) { JTable target = (JTable) arg0.getSource(); int row = target.getSelectedRow(); // int column = target.getSelectedColumn(); if (row != -1) { Contact c = addressBookTableModel.getAddressBook().getContacts().get(row); send(c.getAddress(), c.getAmount()); } } } }); tableAddressBook.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tableAddressBook.setRowHeight(25); scrollPaneAddressBook.setViewportView(tableAddressBook); JToolBar toolBarAddressbook = new JToolBar(); panelAddressBook.add(toolBarAddressbook, BorderLayout.NORTH); JButton btnNewRecipient = new JButton("New"); btnNewRecipient.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { DialogContact d = new DialogContact(); d.setLocationRelativeTo(frmWow); d.edit(false); d.setNetworkParameters(coreWallet.getNetworkParameters()); if (d.showDialog()) { Contact c = new Contact(d.getName(), d.getAddress(), d.getDescription(), d.getAmount()); addressBookTableModel.getAddressBook().addContact(c); addressBookTableModel.getAddressBook().sort(); try { addressBookTableModel.getAddressBook().save(); } catch (IOException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (ClassNotFoundException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (BackingStoreException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } addressBookTableModel.fireTableDataChanged(); } } }); btnNewRecipient.setToolTipText("New address template to send payments to"); toolBarAddressbook.add(btnNewRecipient); JButton btnEdit = new JButton("Edit"); btnEdit.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { DialogContact d = new DialogContact(); d.setLocationRelativeTo(frmWow); d.edit(true); int index = tableAddressBook.getSelectedRow(); if (index != -1) { d.setNetworkParameters(coreWallet.getNetworkParameters()); Contact c = addressBookTableModel.getAddressBook().getContacts().get(index); d.setName(c.getName()); d.setAddress(c.getAddress()); d.setDescription(c.getDescription()); d.setAmount(c.getAmount()); if (d.showDialog()) { c.setName(d.getName()); c.setAddress(d.getAddress()); c.setDescription(d.getDescription()); c.setAmount(d.getAmount()); addressBookTableModel.getAddressBook().sort(); try { addressBookTableModel.getAddressBook().save(); } catch (IOException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (ClassNotFoundException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (BackingStoreException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } addressBookTableModel.fireTableDataChanged(); } } } }); btnEdit.setToolTipText("Edit address template"); toolBarAddressbook.add(btnEdit); JButton btnDelete = new JButton("Delete"); btnDelete.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { int index = tableAddressBook.getSelectedRow(); if (index != -1) { Contact c = addressBookTableModel.getAddressBook().getContacts().get(index); if (JOptionPane.showConfirmDialog( frmWow, "Do you really want to delete Address Template?\nName: " + c.getName() + "\nAddress: " + c.getAddress() + "\nDescription: " + c.getDescription() + "\nAmount: " + c.getAmount(), "Confirm Deletion", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) { addressBookTableModel.getAddressBook().getContacts().remove(c); try { addressBookTableModel.getAddressBook().save(); } catch (IOException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (ClassNotFoundException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } catch (BackingStoreException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog( frmWow, e1.getMessage(), "Error During Address Book Save", JOptionPane.ERROR_MESSAGE); } addressBookTableModel.fireTableDataChanged(); } } } }); btnDelete.setToolTipText("Delete address template"); toolBarAddressbook.add(btnDelete); JButton btnSend = new JButton("Send"); btnSend.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { int row = tableAddressBook.getSelectedRow(); if (row != -1) { Contact c = addressBookTableModel.getAddressBook().getContacts().get(row); send(c.getAddress(), c.getAmount()); } } }); btnSend.setFont(new Font("Lucida Grande", Font.PLAIN, 13)); btnSend.setToolTipText("Send payment to address template"); toolBarAddressbook.add(btnSend); Component horizontalGlue = Box.createHorizontalGlue(); toolBarAddressbook.add(horizontalGlue); JButton btnSendToAddress = new JButton("Send to Address"); btnSendToAddress.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { send(null, 0); } }); btnSendToAddress.setToolTipText("Send payment to specified address"); btnSendToAddress.setFont(new Font("Lucida Grande", Font.PLAIN, 14)); toolBarAddressbook.add(btnSendToAddress); Component horizontalGlue_1 = Box.createHorizontalGlue(); toolBarAddressbook.add(horizontalGlue_1); Component horizontalStrut = Box.createHorizontalStrut(20); horizontalStrut.setPreferredSize(new Dimension(110, 0)); toolBarAddressbook.add(horizontalStrut); JToolBar toolBarTotal = new JToolBar(); frmWow.getContentPane().add(toolBarTotal, BorderLayout.NORTH); tglbtnLock = new JToggleButton("Not Encrypted"); tglbtnLock.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent arg0) { if (coreWallet.isEncrypted()) { DialogPassword d = new DialogPassword(); d.setLocationRelativeTo(frmWow); if (d.showDialog()) { try { coreWallet.decrypt(new String(d.getPassword())); } catch (KeyCrypterException e) { e.printStackTrace(); JOptionPane.showMessageDialog( frmWow, "Wallet dencryption failed!", "Error", JOptionPane.ERROR_MESSAGE); } } } else { DialogEncrypt d = new DialogEncrypt(); d.setLocationRelativeTo(frmWow); if (d.showDialog()) { // System.out.println("NAZDAR"); // System.out.println(d.getPassword()); try { coreWallet.encrypt(new String(d.getPassword())); } catch (Exception e) { // KeyCrypterException e.printStackTrace(); JOptionPane.showMessageDialog( frmWow, "Wallet encryption failed!\n", "Error", JOptionPane.ERROR_MESSAGE); } } } updateEncryptionState(); } }); toolBarTotal.add(tglbtnLock); tglbtnLock.setToolTipText("Wallet not encrypted"); JLabel lblTotal = new JLabel("Balance:"); lblTotal.setFont(new Font("Lucida Grande", Font.PLAIN, 23)); toolBarTotal.add(lblTotal); textTotalBalance = new JTextField(); textTotalBalance.setPreferredSize(new Dimension(250, 28)); textTotalBalance.setFont(new Font("Lucida Grande", Font.PLAIN, 23)); textTotalBalance.setHorizontalAlignment(SwingConstants.CENTER); textTotalBalance.setBackground(SystemColor.window); textTotalBalance.setEditable(false); toolBarTotal.add(textTotalBalance); textTotalBalance.setColumns(10); JLabel lblTotalDoge = new JLabel("DOGE "); lblTotalDoge.setFont(new Font("Lucida Grande", Font.PLAIN, 23)); toolBarTotal.add(lblTotalDoge); JToolBar toolBarStatus = new JToolBar(); frmWow.getContentPane().add(toolBarStatus, BorderLayout.SOUTH); lblStatus = new JLabel(" Connecting... "); toolBarStatus.add(lblStatus); progressBarStatus = new JProgressBar(); progressBarStatus.setPreferredSize(new Dimension(250, 20)); toolBarStatus.add(progressBarStatus); JLabel label = new JLabel(" "); toolBarStatus.add(label); }
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); }