001 package org.springframework.richclient.form; 002 003 import javax.swing.JCheckBox; 004 import javax.swing.JComboBox; 005 import javax.swing.JFrame; 006 import javax.swing.JLabel; 007 import javax.swing.JPanel; 008 import javax.swing.JTextField; 009 010 import org.springframework.richclient.layout.TableLayoutBuilder; 011 012 /** 013 * Simple Panel that mimics a panel created by a visual designer. 014 * @author Peter De Bruycker 015 */ 016 public class SimplePanel extends JPanel { 017 private JTextField stringField; 018 private JComboBox comboBox; 019 private JCheckBox checkBox; 020 private JTextField nestedField; 021 022 public SimplePanel() { 023 TableLayoutBuilder builder = new TableLayoutBuilder(this); 024 025 stringField = new JTextField(10); 026 stringField.setName("stringProperty"); 027 028 comboBox = new JComboBox(new String[] { "item 0", "item 1", "item 2" }); 029 comboBox.setName("comboProperty"); 030 031 checkBox = new JCheckBox("checkbox"); 032 checkBox.setName("booleanProperty"); 033 034 builder.cell(new JLabel("string")); 035 builder.gapCol(); 036 builder.cell(stringField); 037 builder.relatedGapRow(); 038 builder.cell(new JLabel("combo")); 039 builder.gapCol(); 040 builder.cell(comboBox); 041 builder.relatedGapRow(); 042 builder.cell(checkBox); 043 builder.relatedGapRow(); 044 045 JPanel nestedPanel =new JPanel(); 046 nestedField = new JTextField("test"); 047 nestedField.setName("nestedField"); 048 nestedPanel.add(nestedField); 049 050 builder.cell(nestedPanel); 051 052 builder.getPanel(); 053 } 054 055 public static void main(String[] args) { 056 JFrame frame = new JFrame("test"); 057 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 058 059 frame.add(new SimplePanel()); 060 061 frame.pack(); 062 frame.setLocationRelativeTo(null); 063 frame.setVisible(true); 064 } 065 066 public JTextField getStringField() { 067 return stringField; 068 } 069 070 public JComboBox getComboBox() { 071 return comboBox; 072 } 073 074 public JCheckBox getCheckBox() { 075 return checkBox; 076 } 077 078 public JTextField getNestedField() { 079 return nestedField; 080 } 081 }