diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-08-02 13:32:22 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-08-02 13:32:22 -0400 |
| commit | 79fd9cdd3c0b334d1893cf3178e7fb2ec8982f72 (patch) | |
| tree | 7245447dd6092730e153eda0172ce2e647382c07 /BJC-Utils2/src/main/java/bjc/utils/gui | |
| parent | cd01fccd05f7a98d3e0f71a86e153d349f7284ac (diff) | |
More GUI stuff
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/gui')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/gui/SimpleInputPanel.java | 28 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/gui/SimpleListPanel.java | 34 |
2 files changed, 53 insertions, 9 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleInputPanel.java b/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleInputPanel.java new file mode 100644 index 0000000..03f32f1 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleInputPanel.java @@ -0,0 +1,28 @@ +package bjc.utils.gui; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + +import bjc.utils.gui.layout.HLayout; + +public class SimpleInputPanel extends JPanel { + private static final long serialVersionUID = -4734279623645236868L; + + public final JTextField inputValue; + + public SimpleInputPanel(String label, int columns) { + setLayout(new HLayout(2)); + + JLabel inputLabel = new JLabel(label); + + if (columns < 1) { + inputValue = new JTextField(); + } else { + inputValue = new JTextField(columns); + } + + add(inputLabel); + add(inputValue); + } +} diff --git a/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleListPanel.java b/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleListPanel.java index b203a61..3e4e0ad 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleListPanel.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gui/SimpleListPanel.java @@ -8,6 +8,7 @@ import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.ListSelectionModel; @@ -38,18 +39,18 @@ public class SimpleListPanel extends JPanel { JList<String> itemList = new JList<>(listModel); itemList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + JScrollPane listScroller = new JScrollPane(itemList); + JButton removeItemButton = new JButton("Remove " + itemType); addItemButton.addActionListener((ev) -> { - String potentialItem = addItemField.getText(); - - if (itemVerifier == null || itemVerifier.test(potentialItem)) { - listModel.addElement(potentialItem); - } else { - onVerificationFailure.accept(potentialItem); - } + addItem(listModel, itemVerifier, onVerificationFailure, + addItemField); + }); - addItemField.setText(""); + addItemField.addActionListener((ev) -> { + addItem(listModel, itemVerifier, onVerificationFailure, + addItemField); }); removeItemButton.addActionListener((ev) -> { @@ -57,9 +58,24 @@ public class SimpleListPanel extends JPanel { }); itemInputPanel.add(addItemPanel, BorderLayout.PAGE_START); - itemInputPanel.add(itemList, BorderLayout.CENTER); + itemInputPanel.add(listScroller, BorderLayout.CENTER); itemInputPanel.add(removeItemButton, BorderLayout.PAGE_END); add(itemInputPanel); } + + private static void addItem(DefaultListModel<String> listModel, + Predicate<String> itemVerifier, + Consumer<String> onVerificationFailure, + JTextField addItemField) { + String potentialItem = addItemField.getText(); + + if (itemVerifier == null || itemVerifier.test(potentialItem)) { + listModel.addElement(potentialItem); + } else { + onVerificationFailure.accept(potentialItem); + } + + addItemField.setText(""); + } } |
