1 66 67 package demo; 68 69 import swingwtx.custom.*; 70 import swingwtx.swing.*; 71 import swingwtx.swing.table.*; 72 import swingwtx.swing.tree.*; 73 import swingwtx.swing.event.*; 74 import swingwt.awt.*; 75 import swingwt.awt.image.*; 76 import swingwt.awt.event.*; 77 78 import java.net.*; 79 80 public class Everything extends JFrame { 81 82 private JPanel comps = null; 83 84 public void test() { 85 86 setTitle("Test"); 87 setSize(800, 500); 88 setLocation(200, 200); 89 90 try { 91 setIconImage(new ImageIcon(getClass().getResource("/demo/pic.gif")).getImage()); 92 } 93 catch (Exception e) {} 94 95 getContentPane().setLayout(new BorderLayout()); 96 97 setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 99 addWindowListener(new WindowAdapter() { 100 public void windowClosing(WindowEvent e) { 101 checkClose(); 102 } 103 }); 104 105 comps = new JPanel(); 107 comps.setLayout(new FlowLayout()); 108 109 JButton btn = new JButton("Button"); 111 btn.addActionListener(new ActionListener() { 112 public void actionPerformed(ActionEvent e) { 113 showConfirm(); 114 } 115 }); 116 btn.setMnemonic('B'); 117 btn.setToolTipText("Test tooltip!"); 118 comps.add(btn); 119 120 comps.add(new JLabel("Quick test")); 121 JButton btn2 = new JButton("This works!"); 122 btn2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 123 btn2.addActionListener(new ActionListener() { 124 public void actionPerformed(ActionEvent e) { 125 showMessage(); 126 } 127 }); 128 comps.add(btn2); 129 130 131 final JPopupMenu jpop = new JPopupMenu(); 133 JMenu mnuP = new JMenu("Popup!"); 134 jpop.add(mnuP); 135 JMenuItem mnuI = new JMenuItem("Test Item"); 136 mnuP.add(mnuI); 137 138 final JButton btn3 = new JButton("Image Button"); 140 try { 141 btn3.setIcon(new ImageIcon(getClass().getResource("/demo/Computer.png"))); 142 } 143 catch (Exception e) {} 144 btn3.addActionListener(new ActionListener() { 145 public void actionPerformed(ActionEvent e) { 146 jpop.show(btn3, 0, 0); 147 } 148 }); 149 comps.add(btn3); 150 151 JTextField tb = new JTextField("Text box"); 153 tb.setPreferredSize(new Dimension(100, 25)); 154 tb.addFocusListener(new FocusListener() { 155 public void focusGained(FocusEvent e) { 156 System.out.println("Text box got focus"); 157 } 158 public void focusLost(FocusEvent e) { 159 } 160 }); 161 comps.add(tb); 162 163 JScrollPane jp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 165 JTextArea ta = new JTextArea("Text Area"); 166 ta.addKeyListener( new KeyListener() { 167 public void keyTyped(KeyEvent e) { 168 showMessage(); 169 } 170 public void keyPressed(KeyEvent e) { 171 showMessage(); 172 } 173 public void keyReleased(KeyEvent e) { 174 } 175 }); 176 jp.getViewport().add(ta); 177 comps.add(jp); 178 179 comps.add(new JCheckBox("Test")); 180 181 ButtonGroup bg = new ButtonGroup(); 182 JRadioButton rad1 = new JRadioButton("Radio1"); 183 JRadioButton rad2 = new JRadioButton("Radio2"); 184 bg.add(rad1); 185 bg.add(rad2); 186 bg.setSelected(rad1.getModel(), true); 187 comps.add(rad1); 188 comps.add(rad2); 189 190 JPasswordField pass = new JPasswordField(); 192 pass.setEchoChar('*'); 193 pass.setPreferredSize(new Dimension(100, 25)); 194 comps.add(pass); 195 196 JComboBox jc = new JComboBox(); 198 jc.setEditable(false); 199 jc.addItem("Test 1"); 200 jc.addItem("Test 2"); 201 jc.addItem("Test 3"); 202 comps.add(jc); 203 204 JList jl = new JList( new String [] { "Item 1", "Item 2", "Item 3" } ); 206 JScrollPane jlScr = new JScrollPane(jl); 207 jlScr.setPreferredSize(new Dimension(50, 100)); 208 comps.add(jlScr); 209 210 JSlider slid = new JSlider(JSlider.VERTICAL, 1, 100, 50); 212 slid.setPreferredSize(new Dimension(30, 150)); 213 comps.add(slid); 214 215 JSpinner spin = new JSpinner(); 217 comps.add(spin); 218 219 Object [] cols = { "Column 1", "Column 2" }; 221 Object [][] data = new Object [2][2]; 222 data[0][0] = "Col 1 data"; 223 data[0][1] = "Col 2 data"; 224 data[1][0] = "Col 1.1 data"; 225 data[1][1] = "Col 2.1 data"; 226 DefaultTableModel dm = new DefaultTableModel(data, cols); 227 JTable tab = new JTable(); 228 tab.setModel(dm); 229 tab.setCellSelectionEnabled(false); 230 tab.setRowSelectionAllowed(true); 231 tab.setPreferredSize(new Dimension(200, 150)); 232 233 tab.getColumnModel().getColumn(0).setCellRenderer( new DefaultTableCellRenderer() { 235 236 public Component getTableCellRendererComponent(JTable table, Object value, 237 boolean isSelected, boolean hasFocus, 238 int row, int column) { 239 if (isSelected) { 240 setBackground(table.getSelectionBackground()); 241 setForeground(table.getSelectionForeground()); 242 } 243 else { 244 setBackground(table.getBackground()); 245 setForeground(table.getForeground()); 246 } 247 setIcon(new ImageIcon(getClass().getResource("/demo/pic.gif"))); 248 setValue(value); 249 return this; 250 } 251 252 }); 253 JScrollPane tabScr = new JScrollPane(tab); 254 tabScr.setPreferredSize(new Dimension(150, 100)); 255 comps.add(tabScr); 256 257 DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("RootNode"); 259 260 DefaultMutableTreeNode node11 = new DefaultMutableTreeNode("Node 11"); 261 DefaultMutableTreeNode node12 = new DefaultMutableTreeNode("Node 12"); 262 263 DefaultMutableTreeNode book111 = new DefaultMutableTreeNode("Node 111"); 264 DefaultMutableTreeNode book112 = new DefaultMutableTreeNode("Node 112"); 265 266 DefaultMutableTreeNode book121 = new DefaultMutableTreeNode("Node 121"); 267 DefaultMutableTreeNode book122 = new DefaultMutableTreeNode("Node 122"); 268 269 DefaultMutableTreeNode book131 = new DefaultMutableTreeNode("Node 131"); 270 DefaultMutableTreeNode book132 = new DefaultMutableTreeNode("Node 132"); 271 272 DefaultMutableTreeNode book141 = new DefaultMutableTreeNode("Node 141"); 273 DefaultMutableTreeNode book142 = new DefaultMutableTreeNode("Node 142"); 274 275 DefaultMutableTreeNode book151 = new DefaultMutableTreeNode("Node 151"); 276 DefaultMutableTreeNode book152 = new DefaultMutableTreeNode("Node 152"); 277 278 279 rootNode.add(node11); 280 rootNode.add(node12); 281 282 node12.add(book111); 283 node12.add(book112); 284 285 book112.add(book121); 286 book112.add(book122); 287 288 book122.add(book131); 289 book122.add(book132); 290 291 book132.add(book141); 292 book132.add(book142); 293 294 book142.add(book151); 295 book142.add(book152); 296 297 298 JTree tree = new JTree(rootNode); 299 tree.setPreferredSize(new Dimension(200, 150)); 300 tree.addTreeExpansionListener(new TreeExpansionListener() { 301 public void treeExpanded(TreeExpansionEvent event) { 302 System.out.println("treeExpanded :- "+ event.getPath()); 303 } 304 305 public void treeCollapsed(TreeExpansionEvent event) { 306 System.out.println("treeExpanded :- "+ event.getPath()); 307 } 308 }); 309 tree.addWillTreeExpansionListener(new TreeWillExpandListener(){ 310 public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException { 311 System.out.println("treeWillExpand :- " + event.getPath()); 312 } 315 public void treeWillCollapse(TreeExpansionEvent event){ 316 System.out.println("treeWillCollapse :- " + event.getPath()); 317 } 318 }); 319 320 321 322 tree.setCellRenderer( new DefaultTreeCellRenderer() { 324 325 public Component getTreeCellRendererComponent(JTree tree, 326 Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { 327 328 super.getTreeCellRendererComponent( 329 tree, value, selected, 330 expanded, leaf, row, 331 hasFocus); 332 333 if (value.toString().indexOf("Root") != -1) 334 setIcon(new ImageIcon(getClass().getResource("/demo/pic.gif"))); 335 else 336 setIcon(null); 337 setText(value.toString()); 338 return this; 339 } 340 341 }); 342 comps.add(tree); 343 344 345 JComponent c = new JComponent() { 347 public void paint(Graphics g) { 348 g.drawString("Direct Graphics Rendering", 20, 20); 349 g.drawOval(40, 40, 50, 50); 350 } 351 }; 352 c.setPreferredSize(new Dimension(200, 100)); 353 comps.add(c); 354 355 final JPopupMenu jpop2 = new JPopupMenu(); 358 JMenu mnuT = new JMenu("Popup!"); 359 jpop2.add(mnuT); 360 JMenuItem mnuY = new JMenuItem("Tray Popup"); 361 mnuT.add(mnuY); 362 JTaskTrayItem item = new JTaskTrayItem( 363 new ImageIcon(getClass().getResource("/demo/pic.gif")), 364 "Sample Task Tray Icon", 365 jpop2); 366 item.show(); 367 369 JMenuBar mb = new JMenuBar(); 371 372 JMenu mnuFile = new JMenu("File"); 373 mnuFile.setMnemonic('F'); 374 375 JCheckBoxMenuItem mnuFileToggle = new JCheckBoxMenuItem("Toggle", true); 376 JRadioButtonMenuItem mnuFileRadio = new JRadioButtonMenuItem("Radio", true); 377 JRadioButtonMenuItem mnuFileRadio2 = new JRadioButtonMenuItem("Radio2", false); 378 379 JMenu mnuFileOpen = new JMenu("Open"); 380 mnuFileOpen.setMnemonic('O'); 381 JMenuItem mnuFileOpenDoc = new JMenuItem("Document"); 382 mnuFileOpenDoc.setMnemonic('D'); 383 mnuFileOpenDoc.addActionListener(new ActionListener() { 384 public void actionPerformed(ActionEvent e) { 385 showMessage(); 386 } 387 }); 388 try { 389 mnuFileOpenDoc.setIcon(new ImageIcon(getClass().getResource("/demo/pic.gif"))); 390 } 391 catch (Exception e) {} 392 393 JMenuItem mnuFileOpenFileDialog = new JMenuItem("File Dialog"); 394 mnuFileOpenFileDialog.setMnemonic('i'); 395 mnuFileOpenFileDialog.addActionListener(new ActionListener() { 396 public void actionPerformed(ActionEvent e) { 397 showFileDialog(); 398 } 399 }); 400 401 JMenuItem mnuFileOpenColorDialog = new JMenuItem("Color Dialog"); 402 mnuFileOpenColorDialog.setMnemonic('C'); 403 mnuFileOpenColorDialog.addActionListener(new ActionListener() { 404 public void actionPerformed(ActionEvent e) { 405 showColorDialog(); 406 } 407 }); 408 409 JMenuItem mnuFileExit = new JMenuItem("Exit\tCtrl+X"); 410 mnuFileExit.setMnemonic('x'); 411 mnuFileExit.setAccelerator(KeyStroke.getKeyStroke( 412 swingwt.awt.event.KeyEvent.VK_X, swingwt.awt.event.InputEvent.CTRL_MASK)); 413 mnuFileExit.addActionListener(new ActionListener() { 414 public void actionPerformed(ActionEvent e) { 415 dispose(); 416 System.exit(0); 417 } 418 }); 419 420 421 mb.add(mnuFile); 422 mnuFile.add(mnuFileToggle); 423 mnuFile.addSeparator(); 424 mnuFile.add(mnuFileRadio); 425 mnuFile.add(mnuFileRadio2); 426 mnuFile.addSeparator(); 427 mnuFile.add(mnuFileOpen); 428 mnuFileOpen.add(mnuFileOpenDoc); 429 mnuFileOpen.add(mnuFileOpenFileDialog); 430 mnuFileOpen.add(mnuFileOpenColorDialog); 431 mnuFile.add(mnuFileExit); 432 433 setJMenuBar(mb); 434 435 JToolBar bar = new JToolBar(); 437 getContentPane().add(bar, BorderLayout.NORTH); 438 JButton btnTool1 = new JButton("ToolButton 1"); 439 bar.add(btnTool1); 440 JButton btnTool2 = new JButton("ToolButton 2"); 441 bar.add(btnTool2); 442 443 JSplitPane jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JButton("SplitPane"), comps); 445 jsp.setResizeWeight(0.1); 446 getContentPane().add(jsp, BorderLayout.CENTER); 447 448 show(); 450 while(true){ 451 try { 452 Thread.sleep(1000); 453 } catch (InterruptedException e) { 454 e.printStackTrace(); 456 } 457 } 458 } 459 460 public void showMessage() { 461 JOptionPane.showMessageDialog(this, "You did something and I caught the event!"); 462 } 463 464 public void showConfirm() { 465 if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(this, "Are you sure you wanted to press that?")) 466 System.out.println("You picked yes"); 467 else 468 System.out.println("You picked no"); 469 } 470 471 public void checkClose() { 472 if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(this, "Sure you want to close?")) { 473 dispose(); 474 System.exit(0); 475 } 476 } 477 478 public void showFileDialog() { 479 try { 480 JFileChooser jf = new JFileChooser(); 481 jf.setSelectedFile(new java.io.File (System.getProperty("user.home"))); 482 int picked = jf.showOpenDialog(this); 483 if (picked == jf.CANCEL_OPTION) 484 System.out.println("You cancelled the dialog"); 485 else { 486 System.out.println("You chose: " + jf.getSelectedFile().getAbsolutePath()); 487 } 488 } 489 catch (Exception e) { 490 e.printStackTrace(); 491 } 492 } 493 494 public void showColorDialog() { 495 try { 496 JColorChooser jf = new JColorChooser(); 497 Color c = jf.showDialog(this, "Choose that colour!", null); 498 if (c == null) 499 System.out.println("You cancelled the dialog"); 500 else { 501 System.out.println("You chose: " + c.toString()); 502 } 503 } 504 catch (Exception e) { 505 e.printStackTrace(); 506 } 507 } 508 509 public void testTabs() { 510 511 setTitle("Testing Tabs"); 512 setLayout(new BorderLayout()); 513 514 JTabbedPane jtp = new JTabbedPane(); 515 516 JPanel pnl1 = new JPanel(); 517 pnl1.setLayout(new FlowLayout()); 518 519 JLabel lblTest = new JLabel("Test"); 520 pnl1.add(lblTest); 521 522 JPanel pnl2 = new JPanel(); 523 pnl2.setLayout(new GridLayout(2,2)); 524 525 JButton btnTest = new JButton(); 526 btnTest.setIcon(new ImageIcon(getClass().getResource("/demo/Computer.png"))); 527 pnl2.add(btnTest); 528 529 jtp.addTab("Test", pnl1); 530 jtp.addTab("Again", pnl2); 531 532 add(jtp, BorderLayout.CENTER); 533 534 jtp.setIconAt(1, new ImageIcon(getClass().getResource("/demo/Computer.png"))); 535 536 show(); 537 dispatchEvents(); 538 dispose(); 539 540 } 541 542 public void testSlider() { 543 setTitle("Test Slider"); 544 setSize(640, 480); 545 setLocation(200, 200); 546 org.eclipse.swt.widgets.Shell s = (org.eclipse.swt.widgets.Shell) this.getPeer(); 547 s.setLayout(new org.eclipse.swt.layout.RowLayout()); 548 org.eclipse.swt.widgets.Slider sl = new org.eclipse.swt.widgets.Slider(s, org.eclipse.swt.SWT.BORDER | org.eclipse.swt.SWT.HORIZONTAL); 549 sl.setMaximum(100); 550 sl.setMinimum(0); 551 sl.setSelection(50); 552 sl.setThumb(10); 553 554 show(); 555 dispose(); 556 557 } 558 559 public class TestAction extends AbstractAction { 560 561 public void actionPerformed(ActionEvent e) { 562 } 563 564 } 565 566 public static void main(String [] args) { 567 new Everything().test(); 568 } 571 572 } 573 | Popular Tags |