summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.test/src/main/java/net/wotonomy/test/TestPanel.java
blob: a85593ee890ed48993fd791d1c5eb593baae9d5d (plain)
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);
	}

}