KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > sheet > SheetPanel


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * SheetPanel.java
28  *
29  * Created on 4 ottobre 2004, 23.21
30  *
31  */

32
33 package it.businesslogic.ireport.gui.sheet;
34 import java.util.*;
35 import javax.swing.*;
36 /**
37  *
38  * @author Administrator
39  */

40 public class SheetPanel extends javax.swing.JPanel JavaDoc {
41     
42     private java.util.Vector JavaDoc properties;
43     /** Creates new form SheetPanel */
44     public SheetPanel() {
45         initComponents();
46         properties = new Vector();
47         
48     }
49     
50     public java.util.Properties JavaDoc getPropertiesValues()
51     {
52          java.util.Properties JavaDoc prop = new java.util.Properties JavaDoc();
53          
54          for (int i=0; i<getProperties().size(); ++i)
55          {
56             SheetProperty sp = (SheetProperty)getProperties().elementAt(i);
57             Object JavaDoc value = "";
58             value = getPropertyValue(i);
59             if (value != null)
60             {
61                 prop.setProperty(sp.getKeyName(), value+"");
62             }
63          }
64          return prop;
65     }
66     
67     public void setPropertiesValues(java.util.Properties JavaDoc prop)
68     {
69          Enumeration enum_keys = prop.keys();
70          while (enum_keys.hasMoreElements())
71          {
72              String JavaDoc key = (String JavaDoc)enum_keys.nextElement();
73              // Looking for this property...
74
for (int i=0; i<getProperties().size(); ++i)
75              {
76                 SheetProperty sp = (SheetProperty)getProperties().elementAt(i);
77                 if (sp.getKeyName().equals(key) )
78                 {
79                     String JavaDoc value = prop.getProperty(key);
80                     sp.setEditorValue( (javax.swing.JComponent JavaDoc)jPanelEditors.getComponent((2*i) +1 ), value );
81                 }
82              }
83          }
84     }
85     
86     public Object JavaDoc getPropertyValue(int index)
87     {
88          SheetProperty sp = (SheetProperty)getProperties().elementAt(index);
89          return sp.getEditorValue( (javax.swing.JComponent JavaDoc)jPanelEditors.getComponent((2*index) +1 ) );
90     }
91     
92     public void removeAllProperties()
93     {
94          getProperties().removeAllElements();
95          jPanelLabels.removeAll();
96          jPanelEditors.removeAll();
97          jPanelLabels.setLayout(new java.awt.GridBagLayout JavaDoc());
98          jPanelEditors.setLayout(new java.awt.GridBagLayout JavaDoc());
99          java.awt.GridBagConstraints JavaDoc gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
100          gridBagConstraints.gridx = 0;
101          gridBagConstraints.gridy = 400;
102          gridBagConstraints.weighty = 1.0;
103          
104          jPanelEditors.add(jPanelFillerEditors, gridBagConstraints);
105          jPanelLabels.add(jPanelFillerLabels, gridBagConstraints);
106          
107          jPanelEditors.setMinimumSize( new java.awt.Dimension JavaDoc(50,0) );
108          jPanelLabels.setMinimumSize(new java.awt.Dimension JavaDoc(50,0));
109          jPanelLabels.updateUI();
110          jPanelEditors.updateUI();
111          jScrollPane1.updateUI();
112     }
113     
114     public void addSheetProperty(SheetProperty sp)
115     {
116         properties.add(sp);
117         
118         JLabel jLabel = new JLabel(sp.getName());
119         jLabel.setMaximumSize(new java.awt.Dimension JavaDoc(41, 18));
120         jLabel.setMinimumSize(new java.awt.Dimension JavaDoc(41, 18));
121         jLabel.setPreferredSize(new java.awt.Dimension JavaDoc(41, 18));
122         java.awt.GridBagConstraints JavaDoc gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
123         gridBagConstraints.gridx = 0;
124         gridBagConstraints.gridy = (properties.size()-1)*2;
125         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
126         gridBagConstraints.weightx = 1.0;
127         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 2, 0, 2);
128  
129         jPanelLabels.add(jLabel, gridBagConstraints);
130  
131         /******** Set editor *******/
132         javax.swing.JComponent JavaDoc editor = sp.getEditor();
133         editor.setOpaque(false);
134         editor.setBackground( java.awt.Color.WHITE);
135         editor.setMaximumSize(new java.awt.Dimension JavaDoc(41, 18));
136         editor.setMinimumSize(new java.awt.Dimension JavaDoc(41, 18));
137         editor.setPreferredSize(new java.awt.Dimension JavaDoc(41, 18));
138         
139         if (editor instanceof JComboBox || editor instanceof ColorSelectorPanel)
140         {
141             gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 0);
142         }
143         jPanelEditors.add(editor, gridBagConstraints);
144         
145         
146         JSeparator jSeparator = new JSeparator(JSeparator.HORIZONTAL);
147         jSeparator.setPreferredSize(new java.awt.Dimension JavaDoc(0, 1));
148         JSeparator jSeparator1 = new JSeparator(JSeparator.HORIZONTAL);
149         jSeparator1.setPreferredSize(new java.awt.Dimension JavaDoc(0, 1));
150         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
151         gridBagConstraints.gridx = 0;
152         gridBagConstraints.gridy = (properties.size()*2)-1;
153         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
154         
155         jPanelLabels.add(jSeparator, gridBagConstraints);
156         jPanelEditors.add(jSeparator1, gridBagConstraints);
157         
158         jPanelLabels.setMinimumSize(new java.awt.Dimension JavaDoc(30, 20*properties.size()));
159         jPanelLabels.setPreferredSize(new java.awt.Dimension JavaDoc(30, 20*properties.size()));
160         jPanelEditors.setMinimumSize(new java.awt.Dimension JavaDoc(30, 20*properties.size()));
161         jPanelEditors.setPreferredSize(new java.awt.Dimension JavaDoc(30, 20*properties.size()));
162
163         jPanelLabels.updateUI();
164         jScrollPane1.updateUI();
165     }
166
167     public java.util.Vector JavaDoc getProperties() {
168         return properties;
169     }
170
171     public void setProperties(java.util.Vector JavaDoc properties) {
172         this.properties = properties;
173     }
174     
175     /** This method is called from within the constructor to
176      * initialize the form.
177      * WARNING: Do NOT modify this code. The content of this method is
178      * always regenerated by the Form Editor.
179      */

180     private void initComponents() {//GEN-BEGIN:initComponents
181
java.awt.GridBagConstraints JavaDoc gridBagConstraints;
182
183         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
184         jPanelSheet = new javax.swing.JPanel JavaDoc();
185         jPanel1 = new javax.swing.JPanel JavaDoc();
186         jSplitPane1 = new javax.swing.JSplitPane JavaDoc();
187         jPanelLabels = new javax.swing.JPanel JavaDoc();
188         jPanelFillerLabels = new javax.swing.JPanel JavaDoc();
189         jPanelEditors = new javax.swing.JPanel JavaDoc();
190         jPanelFillerEditors = new javax.swing.JPanel JavaDoc();
191
192         setLayout(new java.awt.BorderLayout JavaDoc());
193
194         setBackground(new java.awt.Color JavaDoc(255, 255, 255));
195         jScrollPane1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
196         jScrollPane1.setOpaque(false);
197         jPanelSheet.setLayout(new java.awt.GridBagLayout JavaDoc());
198
199         jPanelSheet.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
200         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
201
202         jPanel1.setMaximumSize(new java.awt.Dimension JavaDoc(16, 2147483647));
203         jPanel1.setMinimumSize(new java.awt.Dimension JavaDoc(16, 20));
204         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(16, 0));
205         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
206         gridBagConstraints.gridx = 0;
207         gridBagConstraints.gridy = 0;
208         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
209         jPanelSheet.add(jPanel1, gridBagConstraints);
210
211         jSplitPane1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
212         jSplitPane1.setBorder(null);
213         jSplitPane1.setDividerSize(1);
214         jSplitPane1.setResizeWeight(0.5);
215         jSplitPane1.setContinuousLayout(true);
216         jPanelLabels.setLayout(new java.awt.GridBagLayout JavaDoc());
217
218         jPanelLabels.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
219         jPanelLabels.setMinimumSize(new java.awt.Dimension JavaDoc(100, 10));
220         jPanelLabels.setPreferredSize(new java.awt.Dimension JavaDoc(100, 10));
221         jPanelFillerLabels.setMinimumSize(new java.awt.Dimension JavaDoc(10, 0));
222         jPanelFillerLabels.setPreferredSize(new java.awt.Dimension JavaDoc(10, 0));
223         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
224         gridBagConstraints.gridx = 0;
225         gridBagConstraints.gridy = 400;
226         gridBagConstraints.weighty = 1.0;
227         jPanelLabels.add(jPanelFillerLabels, gridBagConstraints);
228
229         jSplitPane1.setLeftComponent(jPanelLabels);
230
231         jPanelEditors.setLayout(new java.awt.GridBagLayout JavaDoc());
232
233         jPanelEditors.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
234         jPanelFillerEditors.setMinimumSize(new java.awt.Dimension JavaDoc(10, 0));
235         jPanelFillerEditors.setPreferredSize(new java.awt.Dimension JavaDoc(10, 0));
236         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
237         gridBagConstraints.gridx = 0;
238         gridBagConstraints.gridy = 400;
239         gridBagConstraints.weighty = 1.0;
240         jPanelEditors.add(jPanelFillerEditors, gridBagConstraints);
241
242         jSplitPane1.setRightComponent(jPanelEditors);
243
244         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
245         gridBagConstraints.gridx = 1;
246         gridBagConstraints.gridy = 0;
247         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
248         gridBagConstraints.weightx = 1.0;
249         gridBagConstraints.weighty = 1.0;
250         jPanelSheet.add(jSplitPane1, gridBagConstraints);
251
252         jScrollPane1.setViewportView(jPanelSheet);
253
254         add(jScrollPane1, java.awt.BorderLayout.CENTER);
255
256     }//GEN-END:initComponents
257

258     
259     // Variables declaration - do not modify//GEN-BEGIN:variables
260
private javax.swing.JPanel JavaDoc jPanel1;
261     private javax.swing.JPanel JavaDoc jPanelEditors;
262     private javax.swing.JPanel JavaDoc jPanelFillerEditors;
263     private javax.swing.JPanel JavaDoc jPanelFillerLabels;
264     private javax.swing.JPanel JavaDoc jPanelLabels;
265     private javax.swing.JPanel JavaDoc jPanelSheet;
266     private javax.swing.JScrollPane JavaDoc jScrollPane1;
267     private javax.swing.JSplitPane JavaDoc jSplitPane1;
268     // End of variables declaration//GEN-END:variables
269

270 }
271
Popular Tags