extract reusable code

This commit is contained in:
Maxim.Mossienko
2011-09-06 19:20:56 +04:00
parent e95705ecba
commit e78577f9af
2 changed files with 35 additions and 20 deletions
@@ -37,10 +37,7 @@ public class MultipleCheckboxOptionsPanel extends JPanel {
@NonNls String property) {
final boolean selected = getPropertyValue(owner, property);
final JCheckBox checkBox = new JCheckBox(label, selected);
final ButtonModel model = checkBox.getModel();
final CheckboxChangeListener changeListener
= new CheckboxChangeListener(owner, property, model);
model.addChangeListener(changeListener);
configureCheckbox(owner, property, checkBox);
final GridBagConstraints constraints = new GridBagConstraints();
constraints.anchor = GridBagConstraints.FIRST_LINE_START;
constraints.gridx = 0;
@@ -57,6 +54,17 @@ public class MultipleCheckboxOptionsPanel extends JPanel {
add(checkBox, constraints);
}
private static void configureCheckbox(InspectionProfileEntry owner, String property, JCheckBox checkBox) {
final ButtonModel model = checkBox.getModel();
final CheckboxChangeListener changeListener = new CheckboxChangeListener(owner, property, model);
model.addChangeListener(changeListener);
}
public static void initAndConfigureCheckbox(InspectionProfileEntry owner, String property, JCheckBox checkBox) {
checkBox.setSelected(getPropertyValue(owner, property));
configureCheckbox(owner, property, checkBox);
}
private static boolean getPropertyValue(InspectionProfileEntry owner,
String property) {
try {
@@ -43,6 +43,28 @@ public class SingleIntegerFieldOptionsPanel extends JPanel {
int integerFieldColumns) {
super(new GridBagLayout());
final JLabel label = new JLabel(labelString);
final JFormattedTextField valueField = createIntegerFieldTrackingValue(owner, property, integerFieldColumns);
final GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.insets.left = 4;
constraints.insets.top = 4;
constraints.weightx = 0.0;
constraints.anchor = GridBagConstraints.BASELINE_LEADING;
constraints.fill = GridBagConstraints.NONE;
add(label, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
constraints.weightx = 1.0;
constraints.weighty = 1.0;
constraints.anchor = GridBagConstraints.BASELINE_LEADING;
constraints.fill = GridBagConstraints.NONE;
add(valueField, constraints);
}
public static JFormattedTextField createIntegerFieldTrackingValue(final InspectionProfileEntry owner,
final String property,
int integerFieldColumns) {
final NumberFormat formatter = NumberFormat.getIntegerInstance();
formatter.setParseIntegerOnly(true);
final JFormattedTextField valueField =
@@ -61,22 +83,7 @@ public class SingleIntegerFieldOptionsPanel extends JPanel {
}
}
});
final GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.insets.left = 4;
constraints.insets.top = 4;
constraints.weightx = 0.0;
constraints.anchor = GridBagConstraints.BASELINE_LEADING;
constraints.fill = GridBagConstraints.NONE;
add(label, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
constraints.weightx = 1.0;
constraints.weighty = 1.0;
constraints.anchor = GridBagConstraints.BASELINE_LEADING;
constraints.fill = GridBagConstraints.NONE;
add(valueField, constraints);
return valueField;
}
private static void setPropertyValue(InspectionProfileEntry owner,