1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
package net.wotonomy.test;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Insets;
import java.util.Vector;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.text.JTextComponent;
import net.wotonomy.ui.swing.components.BetterFlowLayout;
import net.wotonomy.ui.swing.components.ButtonPanel;
import net.wotonomy.ui.swing.components.InfoPanel;
/**
* A master-detail panel with a list, some textfields and some buttons.
*/
public class TestPanel extends JPanel {
// public JList list;
public JTable table;
public InfoPanel infoPanel;
public ButtonPanel savePanel;
public ButtonPanel buttonPanel;
public JTextComponent firstNameField;
public JTextComponent middleNameField, lastNameField;
public JComboBox dateBox, monthBox, yearBox;
public JSlider slider;
public JCheckBox checkbox;
public TestPanel() {
this.setLayout(new BorderLayout(10, 10));
this.setBorder(new EmptyBorder(10, 10, 10, 10));
JPanel overviewPanel = new JPanel();
overviewPanel.setLayout(new BorderLayout());
// list = new JList();
// JScrollPane scrollPane = new JScrollPane( list );
table = new JTable();
JScrollPane scrollPane = new JScrollPane(table);
overviewPanel.add(scrollPane, BorderLayout.CENTER);
this.add(overviewPanel, BorderLayout.CENTER);
infoPanel = new InfoPanel();
infoPanel.setColumns(1);
// name fields
firstNameField = new JTextField();
// infoPanel.addPair( "First Name", firstNameField );
middleNameField = new JTextField();
// infoPanel.addPair( "Middle Name", middleNameField );
lastNameField = new JTextField();
// infoPanel.addPair( "Last Name", lastNameField );
checkbox = new JCheckBox();
infoPanel.addRow("Name", new Component[] { firstNameField, middleNameField, lastNameField, checkbox });
// date comboboxen
Vector<Integer> datesList = new Vector<>();
for (int i = 1; i < 32; i++)
datesList.add(Integer.valueOf(i));
dateBox = new JComboBox<>(datesList);
dateBox.setEditable(true);
monthBox = new JComboBox<>();
yearBox = new JComboBox<>();
infoPanel.addRow("Create Date", dateBox, monthBox, yearBox);
// year slider
infoPanel.addRow("Day of Month", slider = new JSlider(JSlider.HORIZONTAL, 1, 31, 1));
// navigation buttons
JPanel navigationPanel = new JPanel();
navigationPanel.setLayout(new BorderLayout());
buttonPanel = new ButtonPanel(new String[] { "Tree View", "Add", "Remove" });
buttonPanel.setAlignment(BetterFlowLayout.LEFT);
buttonPanel.setInsets(new Insets(0, 0, 0, 0));
navigationPanel.add(buttonPanel, BorderLayout.WEST);
savePanel = new ButtonPanel(new String[] { "Refresh All", "Commit" });
savePanel.setAlignment(BetterFlowLayout.RIGHT);
navigationPanel.add(savePanel, BorderLayout.EAST);
// bottom panel layout
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new BorderLayout());
bottomPanel.add(infoPanel, BorderLayout.NORTH);
bottomPanel.add(navigationPanel, BorderLayout.SOUTH);
this.add(bottomPanel, BorderLayout.SOUTH);
}
}
|