View Javadoc

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  		// name fields
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  }