1 package net.wotonomy.test;
2
3 import java.awt.BorderLayout;
4 import java.awt.FlowLayout;
5
6 import javax.swing.JList;
7 import javax.swing.JPanel;
8 import javax.swing.JScrollPane;
9 import javax.swing.JTextField;
10 import javax.swing.border.EmptyBorder;
11 import javax.swing.text.JTextComponent;
12
13 import net.wotonomy.ui.swing.components.ButtonPanel;
14 import net.wotonomy.ui.swing.components.InfoPanel;
15 import net.wotonomy.ui.swing.components.RadioButtonPanel;
16
17 /***
18 * A simple editor panel with a few textfields.
19 */
20 public class EditPanel extends JPanel
21 {
22 public JTextComponent firstNameField;
23 public JTextField middleNameField, lastNameField;
24 public RadioButtonPanel yearRadioPanel;
25 public InfoPanel infoPanel;
26 public JList list;
27 public ButtonPanel addPanel;
28
29
30 public EditPanel()
31 {
32 this.setLayout( new BorderLayout() );
33 this.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
34
35 infoPanel = new InfoPanel();
36
37
38 firstNameField = new JTextField();
39 infoPanel.addPair( "First Name", firstNameField );
40 middleNameField = new JTextField();
41 infoPanel.addPair( "Middle Name", middleNameField );
42 lastNameField = new JTextField();
43 infoPanel.addPair( "Last Name", lastNameField );
44 yearRadioPanel = new RadioButtonPanel();
45 infoPanel.addPair( "Year", yearRadioPanel );
46
47 list = new JList();
48 JPanel containerPanel = new JPanel();
49 containerPanel.setLayout( new BorderLayout( 0, 5 ) );
50 JScrollPane scrollPane = new JScrollPane( list );
51 scrollPane.setPreferredSize( new java.awt.Dimension( 100, 100 ) );
52 addPanel = new ButtonPanel( new String[] { "Add", "Remove" } );
53 addPanel.setAlignment( FlowLayout.CENTER );
54 containerPanel.add( scrollPane, BorderLayout.CENTER );
55 containerPanel.add( addPanel, BorderLayout.SOUTH );
56 infoPanel.addRow( "Children", containerPanel );
57
58 this.add( infoPanel, BorderLayout.CENTER );
59 }
60
61 }