1 35 36 39 package demo.swingset; 40 41 import swingwtx.swing.*; 42 import swingwtx.swing.event.*; 43 import swingwtx.swing.text.*; 44 import swingwtx.swing.table.*; 45 import swingwtx.swing.border.*; 46 import swingwtx.swing.colorchooser.*; 47 import swingwtx.swing.filechooser.*; 48 import javax.accessibility.*; 49 50 import swingwt.awt.*; 51 import swingwt.awt.event.*; 52 import java.beans.*; 53 import java.util.*; 54 import java.io.*; 55 import java.applet.*; 56 import java.net.*; 57 58 65 public class SplitPaneDemo extends DemoModule { 66 67 JSplitPane splitPane = null; 68 JLabel earth = null; 69 JLabel moon = null; 70 71 74 public static void main(String [] args) { 75 SplitPaneDemo demo = new SplitPaneDemo(null); 76 demo.mainImpl(); 77 } 78 79 82 public SplitPaneDemo(SwingSet2 swingset) { 83 super(swingset, "SplitPaneDemo", "toolbar/JSplitPane.gif"); 84 85 earth = new JLabel(createImageIcon("splitpane/earth.jpg", getString("SplitPaneDemo.earth"))); 86 earth.setMinimumSize(new Dimension(20, 20)); 87 88 moon = new JLabel(createImageIcon("splitpane/moon.jpg", getString("SplitPaneDemo.moon"))); 89 moon.setMinimumSize(new Dimension(20, 20)); 90 91 splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, earth, moon); 92 splitPane.setContinuousLayout(true); 93 splitPane.setOneTouchExpandable(true); 94 95 splitPane.setDividerLocation(200); 96 97 getDemoPanel().add(splitPane, BorderLayout.CENTER); 98 getDemoPanel().setBackground(Color.black); 99 100 getDemoPanel().add(createSplitPaneControls(), BorderLayout.SOUTH); 101 } 102 103 106 protected JPanel createSplitPaneControls() { 107 JPanel wrapper = new JPanel(); 108 ButtonGroup group = new ButtonGroup(); 109 JRadioButton button; 110 111 Box buttonWrapper = new Box(BoxLayout.X_AXIS); 112 113 wrapper.setLayout(new GridLayout(0, 1)); 114 115 116 button = new JRadioButton(getString("SplitPaneDemo.vert_split")); 117 button.setMnemonic(getMnemonic("SplitPaneDemo.vert_split_mnemonic")); 118 button.addActionListener(new ActionListener() { 119 public void actionPerformed(ActionEvent e) { 120 splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); 121 } 122 }); 123 group.add(button); 124 buttonWrapper.add(button); 125 126 127 button = new JRadioButton(getString("SplitPaneDemo.horz_split")); 128 button.setMnemonic(getMnemonic("SplitPaneDemo.horz_split_mnemonic")); 129 button.setSelected(true); 130 button.addActionListener(new ActionListener() { 131 public void actionPerformed(ActionEvent e) { 132 splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT); 133 } 134 }); 135 group.add(button); 136 buttonWrapper.add(button); 137 138 140 JCheckBox checkBox = new JCheckBox(getString("SplitPaneDemo.cont_layout")); 141 checkBox.setMnemonic(getMnemonic("SplitPaneDemo.cont_layout_mnemonic")); 142 checkBox.setSelected(true); 143 144 checkBox.addChangeListener(new ChangeListener() { 145 public void stateChanged(ChangeEvent e) { 146 splitPane.setContinuousLayout( 147 ((JCheckBox)e.getSource()).isSelected()); 148 } 149 }); 150 buttonWrapper.add(checkBox); 151 152 154 checkBox = new JCheckBox(getString("SplitPaneDemo.one_touch_expandable")); 155 checkBox.setMnemonic(getMnemonic("SplitPaneDemo.one_touch_expandable_mnemonic")); 156 checkBox.setSelected(true); 157 158 checkBox.addChangeListener(new ChangeListener() { 159 public void stateChanged(ChangeEvent e) { 160 splitPane.setOneTouchExpandable( 161 ((JCheckBox) e.getSource()).isSelected()); 162 } 163 }); 164 buttonWrapper.add(checkBox); 165 wrapper.add(buttonWrapper); 166 167 168 JPanel tfWrapper; 169 JTextField tf; 170 JLabel label; 171 172 tf = new JTextField(); 173 tf.setText(new Integer (splitPane.getDividerSize()).toString()); 174 tf.setColumns(5); 175 tf.addActionListener(new ActionListener() { 177 public void actionPerformed(ActionEvent e) { 178 String value = ((JTextField)e.getSource()).getText(); 179 int newSize; 180 181 try { 182 newSize = Integer.parseInt(value); 183 } catch (Exception ex) { 184 newSize = -1; 185 } 186 if(newSize > 0) { 187 splitPane.setDividerSize(newSize); 188 } else { 189 JOptionPane.showMessageDialog(splitPane, 190 getString("SplitPaneDemo.invalid_divider_size"), 191 getString("SplitPaneDemo.error"), 192 JOptionPane.ERROR_MESSAGE); 193 } 194 } 195 }); 196 label = new JLabel(getString("SplitPaneDemo.divider_size")); 197 tfWrapper = new JPanel(new FlowLayout(FlowLayout.LEFT)); 198 tfWrapper.add(label); 199 tfWrapper.add(tf); 200 label.setLabelFor(tf); 201 label.setDisplayedMnemonic(getMnemonic("SplitPaneDemo.divider_size_mnemonic")); 202 wrapper.add(tfWrapper); 203 204 206 tf = new JTextField(String.valueOf(earth.getMinimumSize().width)); 207 tf.setColumns(5); 208 tf.addActionListener(new ActionListener() { 210 public void actionPerformed(ActionEvent e) { 211 String value = ((JTextField)e.getSource()).getText(); 212 int newSize; 213 214 try { 215 newSize = Integer.parseInt(value); 216 } catch (Exception ex) { 217 newSize = -1; 218 } 219 if(newSize > 10) { 220 earth.setMinimumSize(new Dimension(newSize, newSize)); 221 } else { 222 JOptionPane.showMessageDialog(splitPane, 223 getString("SplitPaneDemo.invalid_min_size") + 224 getString("SplitPaneDemo.must_be_greater_than") + 10, 225 getString("SplitPaneDemo.error"), 226 JOptionPane.ERROR_MESSAGE); 227 } 228 } 229 }); 230 label = new JLabel(getString("SplitPaneDemo.first_component_min_size")); 231 tfWrapper = new JPanel(new FlowLayout(FlowLayout.LEFT)); 232 tfWrapper.add(label); 233 tfWrapper.add(tf); 234 label.setLabelFor(tf); 235 label.setDisplayedMnemonic(getMnemonic("SplitPaneDemo.first_component_min_size_mnemonic")); 236 wrapper.add(tfWrapper); 237 238 240 tf = new JTextField(String.valueOf(moon.getMinimumSize().width)); 241 tf.setColumns(5); 242 tf.addActionListener(new ActionListener() { 244 public void actionPerformed(ActionEvent e) { 245 String value = ((JTextField)e.getSource()).getText(); 246 int newSize; 247 248 try { 249 newSize = Integer.parseInt(value); 250 } catch (Exception ex) { 251 newSize = -1; 252 } 253 if(newSize > 10) { 254 moon.setMinimumSize(new Dimension(newSize, newSize)); 255 } else { 256 JOptionPane.showMessageDialog(splitPane, 257 getString("SplitPaneDemo.invalid_min_size") + 258 getString("SplitPaneDemo.must_be_greater_than") + 10, 259 getString("SplitPaneDemo.error"), 260 JOptionPane.ERROR_MESSAGE); 261 } 262 } 263 }); 264 label = new JLabel(getString("SplitPaneDemo.second_component_min_size")); 265 tfWrapper = new JPanel(new FlowLayout(FlowLayout.LEFT)); 266 tfWrapper.add(label); 267 tfWrapper.add(tf); 268 label.setLabelFor(tf); 269 label.setDisplayedMnemonic(getMnemonic("SplitPaneDemo.second_component_min_size_mnemonic")); 270 wrapper.add(tfWrapper); 271 272 return wrapper; 273 } 274 275 } 276 | Popular Tags |