KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > share > configbean > customizers > common > MultiMethodTablePanel


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 /*
20  * MultiMethodTablePanel.java
21  *
22  * Created on February 4, 2005, 4:13 PM
23  */

24
25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.common;
26
27 import java.awt.GridBagConstraints JavaDoc;
28 import java.awt.GridBagLayout JavaDoc;
29
30 import javax.swing.JComboBox JavaDoc;
31 import javax.swing.JComponent JavaDoc;
32 import javax.swing.JLabel JavaDoc;
33 import javax.swing.JPanel JavaDoc;
34 import javax.swing.JTable JavaDoc;
35 import javax.swing.ListSelectionModel JavaDoc;
36 import javax.swing.table.JTableHeader JavaDoc;
37 import javax.swing.table.TableCellRenderer JavaDoc;
38 import javax.swing.table.TableColumnModel JavaDoc;
39 import javax.swing.table.TableColumn JavaDoc;
40 import javax.swing.table.TableModel JavaDoc;
41
42
43 /**
44  *
45  * @author Rajeshwar Patil
46  * @version %I%, %G%
47  */

48
49 public abstract class MultiMethodTablePanel extends MethodTablePanel {
50
51     private MultiMethodTableModel model ;
52
53     /** Creates new form MultiMethodTablePanel */
54     public MultiMethodTablePanel(MultiMethodTableModel model){
55         super(model);
56         this.model = model;
57         initComponents();
58     }
59
60
61     public MultiMethodTablePanel(){
62         super();
63         this.model = getMultiMethodTableModel();
64         initComponents();
65     }
66
67
68     protected void setData(){
69         ///super.setData();
70
selectionComboBox.setModel(new javax.swing.DefaultComboBoxModel JavaDoc(model.getSelections()));
71         methodTable.setModel(model);
72     }
73
74
75     protected abstract MultiMethodTableModel getMultiMethodTableModel();
76
77     protected abstract String JavaDoc getSelectionLabelText();
78     protected abstract String JavaDoc getSelectionLabelAcsblName();
79     protected abstract String JavaDoc getSelectionLabelAcsblDesc();
80     protected abstract char getSelectionLabelMnemonic();
81     protected abstract String JavaDoc getSelectionComboAcsblName();
82     protected abstract String JavaDoc getSelectionComboToolTip();
83     protected abstract String JavaDoc getSelectionComboAcsblDesc();
84     protected abstract String JavaDoc getTablePaneAcsblName();
85     protected abstract String JavaDoc getTablePaneAcsblDesc();
86     protected abstract String JavaDoc getTablePaneToolTip();
87
88
89     protected MethodTableModel getMethodTableModel(){
90         return getMultiMethodTableModel();
91     }
92
93
94     protected void initComponents() {
95         if(model == null) return;
96
97         setLayout(new GridBagLayout JavaDoc());
98
99         addComponentListener(new java.awt.event.ComponentAdapter JavaDoc() {
100             public void componentResized(java.awt.event.ComponentEvent JavaDoc evt) {
101                 panelResized(evt);
102             }
103         });
104
105         GridBagConstraints JavaDoc gridBagConstraints;
106         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
107         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
108         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
109         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6,6,0,5);
110         selectionPanel = getSelectionPanel();
111         add(selectionPanel, gridBagConstraints);
112
113         methodTable = new TableWithToolTips();
114
115         JTableHeader JavaDoc header = methodTable.getTableHeader();
116         ColumnHeaderToolTips tips = new ColumnHeaderToolTips();
117
118         // Assign a tooltip for each of the columns
119
header.addMouseMotionListener(tips);
120
121         methodTable.setModel(model);
122         methodTable.setRowSelectionAllowed(false);
123         methodTable.setColumnSelectionAllowed(false);
124         methodTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
125
126         methodTable.setTableHeader(methodTable.getTableHeader());
127         javax.swing.table.TableColumnModel JavaDoc columnModel = methodTable.getColumnModel();
128         javax.swing.table.TableColumn JavaDoc column = columnModel.getColumn(2);
129         javax.swing.table.TableCellEditor JavaDoc celleditor =
130                 new javax.swing.DefaultCellEditor JavaDoc(new javax.swing.JTextField JavaDoc());
131         column.setCellEditor(celleditor);
132         
133         //adjustColumnWidth(1, false);
134
//adjustColumnWidth(methodTable, 2, "description field template", false); //NOI18N
135
///setColumnColor();
136

137         tablePane = new javax.swing.JScrollPane JavaDoc(methodTable);
138         tablePane.setOpaque(true);
139         tablePane.setToolTipText(getTablePaneToolTip());
140         add(tablePane, getTableGridBagConstraints());
141         tablePane.getAccessibleContext().setAccessibleName(getTablePaneAcsblName());
142         tablePane.getAccessibleContext().setAccessibleDescription(getTablePaneAcsblDesc());
143      }
144
145     private javax.swing.JPanel JavaDoc selectionPanel;
146     private javax.swing.JComboBox JavaDoc selectionComboBox;
147     private javax.swing.JLabel JavaDoc selectionLabel;
148
149
150     private void selectionItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
151         String JavaDoc selection = (String JavaDoc)selectionComboBox.getSelectedItem();
152         this.model = getMultiMethodTableModel();
153         ///setData(this.model);
154
methodTable.setModel(this.model);
155         model.setSelection(selection);
156         //adjustColumnWidth(1, false);
157
//adjustColumnWidth(methodTable, 2, "description field template", false); //NOI18N
158
}
159
160
161     void setColumnColor(){
162         TableCellRenderer JavaDoc rend = methodTable.getCellRenderer(0, 0);
163         ///Component comp = rend.getTableCellRendererComponent(this, v, false, false, 0, 0);
164
///DisabledBackgroundColor = ColorTools.brighter(DisabledBackgroundColor, -0.03);
165
JComponent JavaDoc comp = (JComponent JavaDoc)rend;
166         comp.setBackground(DisabledBackgroundColor);
167         comp.setOpaque(true);
168     }
169
170
171      private JPanel JavaDoc getSelectionPanel(){
172         JPanel JavaDoc selectionPanel = new JPanel JavaDoc();
173         selectionPanel.setLayout(new GridBagLayout JavaDoc());
174   
175         selectionLabel = new javax.swing.JLabel JavaDoc();
176         selectionLabel.setText(getSelectionLabelText());
177         selectionLabel.setLabelFor(selectionComboBox);
178         selectionLabel.setDisplayedMnemonic(getSelectionLabelMnemonic());
179 // selectionLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
180

181         GridBagConstraints JavaDoc gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
182         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0,0,0,0);
183         selectionPanel.add(selectionLabel, gridBagConstraints);
184         selectionLabel.getAccessibleContext().setAccessibleName(getSelectionLabelAcsblName());
185         selectionLabel.getAccessibleContext().setAccessibleDescription(getSelectionLabelAcsblDesc());
186
187         selectionComboBox = new JComboBox JavaDoc();
188         String JavaDoc[] selections = model.getSelections();
189         selectionComboBox.setModel(new javax.swing.DefaultComboBoxModel JavaDoc(selections));
190         selectionComboBox.setToolTipText(getSelectionComboToolTip());
191         selectionComboBox.addItemListener(new java.awt.event.ItemListener JavaDoc() {
192             public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
193                 selectionItemStateChanged(evt);
194             }
195         });
196
197         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
198         gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
199         gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
200         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0,6,0,0);
201         selectionPanel.add(selectionComboBox, gridBagConstraints);
202         selectionComboBox.getAccessibleContext().setAccessibleName(getSelectionComboAcsblName());
203         selectionComboBox.getAccessibleContext().setAccessibleDescription(getSelectionComboAcsblDesc());
204         return selectionPanel;
205     }
206
207
208      private void panelResized(java.awt.event.ComponentEvent JavaDoc evt) {
209         int width = (int)methodTable.getPreferredSize().getWidth();
210         int height = (int)this.getSize().getHeight()* 3/4 ;
211         tablePane.setMinimumSize(new java.awt.Dimension JavaDoc(width, height));
212         tablePane.setPreferredSize(new java.awt.Dimension JavaDoc(width, height));
213         updateUI();
214     }
215 }
216
Popular Tags