use of javax.swing.JFormattedTextField in project scylla by bptlab.
the class NumberField method createComponent.
@Override
protected JFormattedTextField createComponent() {
JFormattedTextField field = new JFormattedTextField(getFormatter());
field.setValue(defaultValue());
return field;
}
use of javax.swing.JFormattedTextField in project scylla by bptlab.
the class TimeField method createComponent.
@Override
protected JFormattedTextField createComponent() {
JFormattedTextField field = new JFormattedTextField(TIMEFORMAT);
field.setValue(defaultValue());
return field;
}
use of javax.swing.JFormattedTextField in project knime-core by knime.
the class DialogComponentDateTimeSelection method updateSpinnerFormat.
/**
* Allows the user to determine by himself whether milliseconds shall be used or not. Checks if the text in the text
* field of the time spinner contains milliseconds or not and updates the format of the spinner editor accordingly.
*/
private void updateSpinnerFormat() {
final JFormattedTextField field = (JFormattedTextField) m_editor.getComponent(0);
try {
DateTimeFormatter.ofPattern(TIME_FORMAT_WITH_MS).parse(field.getText());
if (!m_useMillis) {
setUseMillis(true);
((DateFormatter) m_editor.getTextField().getFormatter()).setFormat(new SimpleDateFormat(TIME_FORMAT_WITH_MS, Locale.getDefault()));
updateModel();
}
} catch (final DateTimeParseException iae) {
try {
DateTimeFormatter.ofPattern(TIME_FORMAT_WITHOUT_MS).parse(field.getText());
if (m_useMillis) {
setUseMillis(false);
((DateFormatter) m_editor.getTextField().getFormatter()).setFormat(new SimpleDateFormat(TIME_FORMAT_WITHOUT_MS, Locale.getDefault()));
updateModel();
}
} catch (final DateTimeParseException iae2) {
}
}
}
use of javax.swing.JFormattedTextField in project knime-core by knime.
the class MissingValuePanel method getFixTextField.
/*
* Helper in constructor, generates the text field to enter the replacement
* value.
*/
private static JComponent getFixTextField(final ColSetting setting, final DataColumnSpec spec) {
JComponent fixText;
// FIX text field
DataCell fixCell = setting.getFixCell();
switch(setting.getType()) {
case ColSetting.TYPE_DOUBLE:
fixText = new JFormattedTextField();
((JFormattedTextField) fixText).setColumns(8);
Double doubel;
if (fixCell == null) {
doubel = new Double(0.0);
} else {
double d = ((DoubleValue) fixCell).getDoubleValue();
doubel = new Double(d);
}
((JFormattedTextField) fixText).setValue(doubel);
break;
case ColSetting.TYPE_INT:
fixText = new JFormattedTextField();
((JFormattedTextField) fixText).setColumns(8);
Integer integer;
if (fixCell == null) {
integer = new Integer(0);
} else {
int i = ((IntValue) fixCell).getIntValue();
integer = new Integer(i);
}
((JFormattedTextField) fixText).setValue(integer);
break;
case ColSetting.TYPE_STRING:
DataCell[] vals;
if (spec != null && spec.getDomain().hasValues()) {
vals = spec.getDomain().getValues().toArray(new DataCell[0]);
} else {
vals = new DataCell[0];
}
DefaultComboBoxModel model = new DefaultComboBoxModel(vals);
fixText = new JComboBox(model);
((JComboBox) fixText).setPrototypeDisplayValue("#########");
((JComboBox) fixText).setEditable(true);
((JComboBox) fixText).setRenderer(new DefaultListCellRenderer() {
/**
* Overridden to set tooltip text properly.
* @see DefaultListCellRenderer#getListCellRendererComponent(
* JList, Object, int, boolean, boolean)
*/
@Override
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (c instanceof JComponent) {
((JComponent) c).setToolTipText(value.toString());
}
return c;
}
});
String string;
if (fixCell == null) {
string = "";
} else {
string = ((StringValue) fixCell).getStringValue();
}
model.setSelectedItem(string);
break;
default:
throw new InternalError("No such type");
}
return fixText;
}
use of javax.swing.JFormattedTextField in project knime-core by knime.
the class MissingValuePanel method getSettings.
/**
* Get the settings currently entered in the dialog.
*
* @return the current settings
*/
public ColSetting getSettings() {
int method;
if (m_nothingButton.isSelected()) {
method = ColSetting.METHOD_NO_HANDLING;
} else if (m_removeButton.isSelected()) {
method = ColSetting.METHOD_IGNORE_ROWS;
} else if (m_fixButton != null && m_fixButton.isSelected()) {
method = ColSetting.METHOD_FIX_VAL;
DataCell cell;
switch(m_setting.getType()) {
case ColSetting.TYPE_INT:
Object value = ((JFormattedTextField) m_fixText).getValue();
cell = new IntCell(((Number) value).intValue());
break;
case ColSetting.TYPE_DOUBLE:
value = ((JFormattedTextField) m_fixText).getValue();
cell = new DoubleCell(((Number) value).doubleValue());
break;
case ColSetting.TYPE_STRING:
value = ((JComboBox) m_fixText).getEditor().getItem();
cell = new StringCell(value.toString());
break;
default:
throw new RuntimeException("You shouldn't have come here.");
}
m_setting.setFixCell(cell);
} else if (m_maxButton != null && m_maxButton.isSelected()) {
method = ColSetting.METHOD_MAX;
} else if (m_minButton != null && m_minButton.isSelected()) {
method = ColSetting.METHOD_MIN;
} else if (m_meanButton != null && m_meanButton.isSelected()) {
method = ColSetting.METHOD_MEAN;
} else if (m_mostFrequentButton != null && m_mostFrequentButton.isSelected()) {
method = ColSetting.METHOD_MOST_FREQUENT;
} else {
assert false : "One button must be selected.";
method = ColSetting.METHOD_NO_HANDLING;
}
m_setting.setMethod(method);
return m_setting;
}
Aggregations