KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > browser > core > panel > DefaultTablePanel


1 /*====================================================================
2
3 Objectweb Browser Framework
4 Copyright (C) 2000-2003 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Philippe Merle, Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.browser.core.panel;
28
29 import java.awt.BorderLayout JavaDoc;
30 import java.awt.Color JavaDoc;
31
32 //import javax.swing.BoxLayout;
33
import javax.swing.BorderFactory JavaDoc;
34 import javax.swing.JPanel JavaDoc;
35 //import javax.swing.JScrollPane;
36

37 import org.objectweb.util.browser.api.Panel;
38 import org.objectweb.util.browser.api.Table;
39 import org.objectweb.util.browser.api.TreeView;
40 import org.objectweb.util.browser.core.api.Decoder;
41 import org.objectweb.util.browser.core.common.AdminCustomization;
42 import org.objectweb.util.browser.core.common.DynamicTable;
43
44 /**
45  *
46  *
47  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
48  * <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>
49  *
50  * @version 0.1
51  */

52 public class DefaultTablePanel
53   implements Panel JavaDoc {
54
55     //==================================================================
56
//
57
// Internal state.
58
//
59
//==================================================================
60

61     protected JPanel JavaDoc panel_;
62     
63     protected Table table_;
64
65     protected AdminCustomization custom_;
66
67     protected Decoder decoder_;
68
69     //==================================================================
70
//
71
// Constructor.
72
//
73
//==================================================================
74

75     public DefaultTablePanel(Table table, AdminCustomization custom, Decoder currentDecoder){
76         panel_ = new JPanel JavaDoc();
77         panel_.setBackground(Color.white);
78         panel_.setBorder(BorderFactory.createLineBorder(Color.black));
79         table_ = table;
80         decoder_ = currentDecoder;
81         custom_ = custom;
82         //panel_.setLayout(new BoxLayout(panel_, BoxLayout.Y_AXIS));
83
panel_.setLayout(new BorderLayout JavaDoc());
84     }
85
86     public DefaultTablePanel(Table table, AdminCustomization custom){
87         this(table, custom, null);
88     }
89
90     //==================================================================
91
//
92
// No internal method.
93
//
94
//==================================================================
95

96     //==================================================================
97
//
98
// Public methods for Panel interface.
99
//
100
//==================================================================
101

102     public void selected(TreeView treeView) {
103         if(table_!=null){
104             DynamicTable dynamicTable = null;
105             if(decoder_!=null)
106                 dynamicTable = new DynamicTable(decoder_);
107             else
108                 dynamicTable = new DynamicTable();
109             dynamicTable.setAdminCustomization(custom_);
110             String JavaDoc[] headers = table_.getHeaders(treeView);
111             Object JavaDoc[][] values = table_.getRows(treeView);
112             if(values!=null && values.length>0){
113                 dynamicTable.setData(headers,values);
114                 //panel_.add(new JScrollPane(dynamicTable));
115
panel_.add(dynamicTable.getTableHeader(),BorderLayout.NORTH);
116                 panel_.add(dynamicTable,BorderLayout.CENTER);
117             }
118         }
119     }
120
121     public JPanel JavaDoc getPanel() {
122         return panel_;
123     }
124
125     public void unselected(TreeView treeview) {
126         // Nothing to do
127
}
128
129 }
130
131     
Popular Tags