KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > wingset > ScrollPaneExample


1 /*
2  * $Id: ScrollPaneExample.java,v 1.11 2005/03/01 08:02:18 hengels Exp $
3  * Copyright 2000,2005 wingS development team.
4  *
5  * This file is part of wingS (http://www.j-wings.org).
6  *
7  * wingS is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU Lesser General Public License
9  * as published by the Free Software Foundation; either version 2.1
10  * of the License, or (at your option) any later version.
11  *
12  * Please see COPYING for the complete licence.
13  */

14 package wingset;
15
16 import org.wings.*;
17
18 import java.awt.event.ActionEvent JavaDoc;
19 import java.awt.event.ActionListener JavaDoc;
20
21 import javax.swing.tree.DefaultTreeModel JavaDoc;
22
23
24 /**
25  * @author <a HREF="mailto:haaf@mercatis.de">Armin Haaf</a>
26  * @version $Revision: 1.11 $
27  */

28 public class ScrollPaneExample
29         extends WingSetPane
30 {
31     private ScrollPaneControls controls;
32     private STable table;
33     private STree tree;
34     private SScrollPane scrollPane;
35
36     public SComponent createExample() {
37         table = new STable(new TableExample.ROTableModel(15, 15));
38         table.setShowAsFormComponent(true);
39         table.setDefaultRenderer(new TableExample.MyCellRenderer());
40
41         tree = new STree(new DefaultTreeModel JavaDoc(HugeTreeModel.ROOT_NODE));
42         tree.setName("tree");
43         tree.setShowAsFormComponent(false);
44         
45         scrollPane = new SScrollPane(table);
46         scrollPane.getHorizontalScrollBar().setBlockIncrement(3);
47         scrollPane.getVerticalScrollBar().setBlockIncrement(3);
48
49         ((SScrollBar) scrollPane.getHorizontalScrollBar()).setShowAsFormComponent(false);
50         ((SScrollBar) scrollPane.getVerticalScrollBar()).setShowAsFormComponent(false);
51
52         controls = new ScrollPaneControls();
53         controls.addSizable(scrollPane);
54
55         SForm p = new SForm(new SBorderLayout());
56         p.add(controls, SBorderLayout.NORTH);
57         p.add(scrollPane, SBorderLayout.CENTER);
58         return p;
59     }
60
61     /**
62      * @param table
63      */

64     protected void showInPane(SComponent comp) {
65         scrollPane.setViewportView(comp);
66     }
67     
68     class ScrollPaneControls extends ComponentControls {
69         public ScrollPaneControls () {
70             final SCheckBox showAsFormComponent = new SCheckBox("Show as Form Component");
71             showAsFormComponent.addActionListener(new ActionListener JavaDoc() {
72                 public void actionPerformed(ActionEvent JavaDoc e) {
73                     boolean selected = showAsFormComponent.isSelected();
74                     table.setShowAsFormComponent(selected);
75                     ((SScrollBar)scrollPane.getHorizontalScrollBar()).setShowAsFormComponent( selected);
76                     ((SScrollBar)scrollPane.getVerticalScrollBar()).setShowAsFormComponent(selected);
77                 }
78             });
79             add(showAsFormComponent);
80
81             final SCheckBox paging = new SCheckBox("Paged Scrolling");
82             paging.addActionListener(new ActionListener JavaDoc() {
83                 public void actionPerformed(ActionEvent JavaDoc e) {
84                     boolean selected = paging.isSelected();
85                     ((SScrollPaneLayout)scrollPane.getLayout()).setPaging(selected);
86                 }
87             });
88             paging.setSelected(true);
89             add(paging);
90
91             final SRadioButton tableButton = new SRadioButton("table");
92             final SRadioButton treeButton = new SRadioButton("tree");
93             final SButtonGroup group = new SButtonGroup();
94             group.add(tableButton);
95             group.add(treeButton);
96             tableButton.setSelected(true);
97
98             group.addActionListener(new ActionListener JavaDoc() {
99                 public void actionPerformed(ActionEvent JavaDoc e) {
100                     if (tableButton.isSelected()) {
101                         showInPane(table);
102                     } else {
103                         showInPane(tree);
104                     }
105                 }
106                 
107             });
108             add(tableButton);
109             add(treeButton);
110         }
111     }
112 }
113
Popular Tags