ConfigEditor: always show buttons
authorNiki Roo <niki@nikiroo.be>
Fri, 31 May 2019 12:49:03 +0000 (14:49 +0200)
committerNiki Roo <niki@nikiroo.be>
Fri, 31 May 2019 12:49:03 +0000 (14:49 +0200)
src/be/nikiroo/utils/ui/ConfigEditor.java

index 2bc9dc9ff36652db8d4cd7dbbb3e1b1da2f9f2e8..27e517b88c04e17ee929aaef7f5c21a3e6490ebb 100644 (file)
@@ -50,12 +50,8 @@ public class ConfigEditor<E extends Enum<E>> extends JPanel {
         */
        public ConfigEditor(Class<E> type, final Bundle<E> bundle, String title) {
                this.setLayout(new BorderLayout());
-               JPanel main = new JPanel();
-
-               JScrollPane scroll = new JScrollPane(main);
-               scroll.getVerticalScrollBar().setUnitIncrement(16);
-               this.add(scroll, BorderLayout.CENTER);
 
+               JPanel main = new JPanel();
                main.setLayout(new BoxLayout(main, BoxLayout.PAGE_AXIS));
                main.setBorder(new EmptyBorder(5, 5, 5, 5));
 
@@ -68,7 +64,11 @@ public class ConfigEditor<E extends Enum<E>> extends JPanel {
                        addItem(main, item, 0);
                }
 
-               main.add(createButton("Reset", new ActionListener() {
+               JPanel buttons = new JPanel();
+               buttons.setLayout(new BoxLayout(buttons, BoxLayout.PAGE_AXIS));
+               buttons.setBorder(new EmptyBorder(5, 5, 5, 5));
+
+               buttons.add(createButton("Reset", new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                for (MetaInfo<E> item : items) {
@@ -77,7 +77,7 @@ public class ConfigEditor<E extends Enum<E>> extends JPanel {
                        }
                }));
 
-               main.add(createButton("Default", new ActionListener() {
+               buttons.add(createButton("Default", new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                Object snap = bundle.takeSnapshot();
@@ -90,7 +90,7 @@ public class ConfigEditor<E extends Enum<E>> extends JPanel {
                        }
                }));
 
-               main.add(createButton("Save", new ActionListener() {
+               buttons.add(createButton("Save", new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                for (MetaInfo<E> item : items) {
@@ -104,6 +104,12 @@ public class ConfigEditor<E extends Enum<E>> extends JPanel {
                                }
                        }
                }));
+
+               JScrollPane scroll = new JScrollPane(main);
+               scroll.getVerticalScrollBar().setUnitIncrement(16);
+
+               this.add(scroll, BorderLayout.CENTER);
+               this.add(buttons, BorderLayout.SOUTH);
        }
 
        private void addItem(JPanel main, MetaInfo<E> item, int nhgap) {