Search in sources :

Example 6 with JFormattedTextField

use of javax.swing.JFormattedTextField in project smile by haifengl.

the class IntegerCellEditor method getCellEditorValue.

@Override
public Object getCellEditorValue() {
    JFormattedTextField ftf = (JFormattedTextField) getComponent();
    Object o = ftf.getValue();
    if (o instanceof Integer) {
        return o;
    } else if (o instanceof Number) {
        return new Integer(((Number) o).intValue());
    } else {
        try {
            return integerFormat.parseObject(o.toString());
        } catch (ParseException ex) {
            LOGGER.log(Level.FINE, "getCellEditorValue: can't parse {0}", o);
            return null;
        }
    }
}
Also used : JFormattedTextField(javax.swing.JFormattedTextField) ParseException(java.text.ParseException)

Example 7 with JFormattedTextField

use of javax.swing.JFormattedTextField in project smile by haifengl.

the class DateCellEditor method stopCellEditing.

// Override to check whether the edit is valid,
// setting the value if it is and complaining if
// it isn't.  If it's OK for the editor to go
// away, we need to invoke the superclass's version 
// of this method so that everything gets cleaned up.
@Override
public boolean stopCellEditing() {
    JFormattedTextField ftf = (JFormattedTextField) getComponent();
    if (ftf.isEditValid()) {
        try {
            ftf.commitEdit();
        } catch (java.text.ParseException ex) {
        }
    } else {
        //text is invalid
        Toolkit.getDefaultToolkit().beep();
        textField.selectAll();
        //don't let the editor go away
        return false;
    }
    return super.stopCellEditing();
}
Also used : JFormattedTextField(javax.swing.JFormattedTextField) ParseException(java.text.ParseException)

Example 8 with JFormattedTextField

use of javax.swing.JFormattedTextField in project Smack by igniterealtime.

the class EnhancedDebugger method addInformationPanel.

private void addInformationPanel() {
    // Create UI elements for connection information.
    JPanel informationPanel = new JPanel();
    informationPanel.setLayout(new BorderLayout());
    // Add the Host information
    JPanel connPanel = new JPanel();
    connPanel.setLayout(new GridBagLayout());
    connPanel.setBorder(BorderFactory.createTitledBorder("XMPPConnection information"));
    JLabel label = new JLabel("Host: ");
    label.setMinimumSize(new java.awt.Dimension(150, 14));
    label.setMaximumSize(new java.awt.Dimension(150, 14));
    connPanel.add(label, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
    JFormattedTextField field = new JFormattedTextField(connection.getXMPPServiceDomain());
    field.setMinimumSize(new java.awt.Dimension(150, 20));
    field.setMaximumSize(new java.awt.Dimension(150, 20));
    field.setEditable(false);
    field.setBorder(null);
    connPanel.add(field, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
    // Add the Port information
    label = new JLabel("Port: ");
    label.setMinimumSize(new java.awt.Dimension(150, 14));
    label.setMaximumSize(new java.awt.Dimension(150, 14));
    connPanel.add(label, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
    field = new JFormattedTextField(connection.getPort());
    field.setMinimumSize(new java.awt.Dimension(150, 20));
    field.setMaximumSize(new java.awt.Dimension(150, 20));
    field.setEditable(false);
    field.setBorder(null);
    connPanel.add(field, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
    // Add the connection's User information
    label = new JLabel("User: ");
    label.setMinimumSize(new java.awt.Dimension(150, 14));
    label.setMaximumSize(new java.awt.Dimension(150, 14));
    connPanel.add(label, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
    userField = new JFormattedTextField();
    userField.setMinimumSize(new java.awt.Dimension(150, 20));
    userField.setMaximumSize(new java.awt.Dimension(150, 20));
    userField.setEditable(false);
    userField.setBorder(null);
    connPanel.add(userField, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
    // Add the connection's creationTime information
    label = new JLabel("Creation time: ");
    label.setMinimumSize(new java.awt.Dimension(150, 14));
    label.setMaximumSize(new java.awt.Dimension(150, 14));
    connPanel.add(label, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
    field = new JFormattedTextField(new SimpleDateFormat("yyyy.MM.dd HH:mm:ss:SS"));
    field.setMinimumSize(new java.awt.Dimension(150, 20));
    field.setMaximumSize(new java.awt.Dimension(150, 20));
    field.setValue(creationTime);
    field.setEditable(false);
    field.setBorder(null);
    connPanel.add(field, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
    // Add the connection's creationTime information
    label = new JLabel("Status: ");
    label.setMinimumSize(new java.awt.Dimension(150, 14));
    label.setMaximumSize(new java.awt.Dimension(150, 14));
    connPanel.add(label, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
    statusField = new JFormattedTextField();
    statusField.setMinimumSize(new java.awt.Dimension(150, 20));
    statusField.setMaximumSize(new java.awt.Dimension(150, 20));
    statusField.setValue("Active");
    statusField.setEditable(false);
    statusField.setBorder(null);
    connPanel.add(statusField, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
    // Add the connection panel to the information panel
    informationPanel.add(connPanel, BorderLayout.NORTH);
    // Add the Number of sent packets information
    JPanel packetsPanel = new JPanel();
    packetsPanel.setLayout(new GridLayout(1, 1));
    packetsPanel.setBorder(BorderFactory.createTitledBorder("Transmitted Packets"));
    statisticsTable = new DefaultTableModel(new Object[][] { { "IQ", 0, 0 }, { "Message", 0, 0 }, { "Presence", 0, 0 }, { "Other", 0, 0 }, { "Total", 0, 0 } }, new Object[] { "Type", "Received", "Sent" }) {

        // CHECKSTYLE:OFF
        private static final long serialVersionUID = -6793886085109589269L;

        @Override
        public boolean isCellEditable(int rowIndex, int mColIndex) {
            // CHECKSTYLE:ON
            return false;
        }
    };
    JTable table = new JTable(statisticsTable);
    // Allow only single a selection
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    packetsPanel.add(new JScrollPane(table));
    // Add the packets panel to the information panel
    informationPanel.add(packetsPanel, BorderLayout.CENTER);
    tabbedPane.add("Information", new JScrollPane(informationPanel));
    tabbedPane.setToolTipTextAt(4, "Information and statistics about the debugged connection");
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) DefaultTableModel(javax.swing.table.DefaultTableModel) JFormattedTextField(javax.swing.JFormattedTextField) JLabel(javax.swing.JLabel) GridLayout(java.awt.GridLayout) BorderLayout(java.awt.BorderLayout) JTable(javax.swing.JTable) SimpleDateFormat(java.text.SimpleDateFormat)

Example 9 with JFormattedTextField

use of javax.swing.JFormattedTextField in project pcgen by PCGen.

the class IntegerEditor method getCellEditorValue.

//Override to ensure that the value remains an Integer.
@Override
public Object getCellEditorValue() {
    JFormattedTextField textField = (JFormattedTextField) getComponent();
    Object o = textField.getValue();
    if (o instanceof Integer) {
        return o;
    } else if (o instanceof Number) {
        return new Integer(((Number) o).intValue());
    } else {
        if (DEBUG) {
            System.out.println("getCellEditorValue: o isn't a Number");
        }
        try {
            return integerFormat.parseObject(o.toString());
        } catch (ParseException exc) {
            System.err.println("getCellEditorValue: can't parse o: " + o);
            return null;
        }
    }
}
Also used : JFormattedTextField(javax.swing.JFormattedTextField) ParseException(java.text.ParseException)

Example 10 with JFormattedTextField

use of javax.swing.JFormattedTextField in project pcgen by PCGen.

the class Initiative method bDuplicateCombatantActionPerformed.

/**
	 * @param evt
	 */
private void bDuplicateCombatantActionPerformed(ActionEvent evt) {
    //TODO: This only works for saved pcgen files and xml combatants.
    //For pcgen files, it reloads the file, since there's no good way
    //curently to clone a PlayerCharacter.
    DefaultFormatter formatter = new NumberFormatter();
    formatter.setAllowsInvalid(false);
    formatter.setCommitsOnValidEdit(true);
    formatter.setValueClass(Integer.class);
    JFormattedTextField field = new JFormattedTextField(formatter);
    field.setValue(1);
    int choice = JOptionPane.showConfirmDialog(GMGenSystem.inst, field, "How many copies?", JOptionPane.OK_CANCEL_OPTION);
    if (choice == JOptionPane.CANCEL_OPTION) {
        return;
    }
    int count = ((Number) field.getValue()).intValue();
    for (InitHolder holderToCopy : getSelected()) {
        if ((holderToCopy instanceof XMLCombatant) || (holderToCopy instanceof PcgCombatant)) {
            if (holderToCopy instanceof PcgCombatant) {
                if ((((PcgCombatant) holderToCopy).getPC().getFileName() != null) && (!((PcgCombatant) holderToCopy).getPC().getFileName().isEmpty())) {
                    pasteNew(holderToCopy, count);
                } else {
                    JOptionPane.showMessageDialog(GMGenSystem.inst, "Combatant " + holderToCopy.getName() + " cannot be duplicated because it has not been saved to a valid .pcg file.", "Cannot Duplicate", JOptionPane.WARNING_MESSAGE);
                }
            } else {
                pasteNew(holderToCopy, count);
            }
        } else {
            JOptionPane.showMessageDialog(GMGenSystem.inst, "Combatant " + holderToCopy.getName() + " cannot be duplicated because it is not a PCGen or XML combatant.", "Cannot Duplicate", JOptionPane.WARNING_MESSAGE);
        }
    }
}
Also used : PcgCombatant(gmgen.plugin.PcgCombatant) JFormattedTextField(javax.swing.JFormattedTextField) DefaultFormatter(javax.swing.text.DefaultFormatter) InitHolder(gmgen.plugin.InitHolder) XMLCombatant(plugin.initiative.XMLCombatant) NumberFormatter(javax.swing.text.NumberFormatter)

Aggregations

JFormattedTextField (javax.swing.JFormattedTextField)55 JLabel (javax.swing.JLabel)17 JPanel (javax.swing.JPanel)16 ParseException (java.text.ParseException)10 DecimalFormat (java.text.DecimalFormat)9 JButton (javax.swing.JButton)9 ActionListener (java.awt.event.ActionListener)8 NumberFormatter (javax.swing.text.NumberFormatter)8 ActionEvent (java.awt.event.ActionEvent)7 PropertyChangeEvent (java.beans.PropertyChangeEvent)7 JComboBox (javax.swing.JComboBox)7 Dimension (java.awt.Dimension)6 PropertyChangeListener (java.beans.PropertyChangeListener)6 GroupLayout (javax.swing.GroupLayout)6 Component (java.awt.Component)5 GridBagConstraints (java.awt.GridBagConstraints)5 GridBagLayout (java.awt.GridBagLayout)5 JCheckBox (javax.swing.JCheckBox)5 JScrollPane (javax.swing.JScrollPane)5 JSpinner (javax.swing.JSpinner)5