From 1c8bc7132d980c1ff2dbd6b9af579c3b2fd8c63e Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Sun, 3 Apr 2016 19:22:48 -0400 Subject: General code refactoring and maintenance --- .../java/bjc/utils/gui/ListParameterPanel.java | 72 ++++++++++++++++------ 1 file changed, 54 insertions(+), 18 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/gui/ListParameterPanel.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/gui/ListParameterPanel.java b/BJC-Utils2/src/main/java/bjc/utils/gui/ListParameterPanel.java index 42c5761..4bbe6e7 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gui/ListParameterPanel.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gui/ListParameterPanel.java @@ -68,24 +68,60 @@ public class ListParameterPanel extends JPanel { list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JPanel buttonPanel = new JPanel(); - buttonPanel.setLayout(new HLayout(3)); - - JButton addParam = new JButton("Add..."); - JButton editParam = new JButton("Edit..."); - JButton removeParam = new JButton("Remove..."); - - addParam.addActionListener( - (event) -> ((DefaultListModel) list.getModel()) - .addElement(addAction.get())); - editParam.addActionListener( - (event) -> editAction.accept(list.getSelectedValue())); - removeParam.addActionListener((event) -> removeAction - .accept(((DefaultListModel) list.getModel()) - .remove(list.getSelectedIndex()))); - - buttonPanel.add(addParam); - buttonPanel.add(editParam); - buttonPanel.add(removeParam); + + int numButtons = 0; + + if (addAction != null) { + numButtons++; + } + + if (editAction != null) { + numButtons++; + } + + if (removeAction != null) { + numButtons++; + } + + buttonPanel.setLayout(new HLayout(numButtons)); + + JButton addParam = null; + + if (addAction != null) { + addParam = new JButton("Add..."); + addParam.addActionListener( + (event) -> ((DefaultListModel) list.getModel()) + .addElement(addAction.get())); + } + + JButton editParam = null; + + if (editAction != null) { + editParam = new JButton("Edit..."); + editParam.addActionListener( + (event) -> editAction.accept(list.getSelectedValue())); + } + + JButton removeParam = null; + + if (removeAction != null) { + removeParam = new JButton("Remove..."); + removeParam.addActionListener((event) -> removeAction + .accept(((DefaultListModel) list.getModel()) + .remove(list.getSelectedIndex()))); + } + + if (addAction != null) { + buttonPanel.add(addParam); + } + + if (editAction != null) { + buttonPanel.add(editParam); + } + + if (removeAction != null) { + buttonPanel.add(removeParam); + } add(list); add(buttonPanel); -- cgit v1.2.3