1 32 33 package it.businesslogic.ireport.gui.sheet; 34 35 import it.businesslogic.ireport.chart.MeterInterval; 36 import it.businesslogic.ireport.chart.SeriesColor; 37 import it.businesslogic.ireport.gui.FieldPatternDialog; 38 import it.businesslogic.ireport.gui.MainFrame; 39 import java.awt.Color ; 40 import java.awt.Dialog ; 41 import java.awt.Frame ; 42 import java.awt.Window ; 43 import java.awt.event.ActionEvent ; 44 import java.util.List ; 45 import javax.swing.BoxLayout ; 46 import javax.swing.JOptionPane ; 47 import javax.swing.SwingUtilities ; 48 import it.businesslogic.ireport.util.I18n; 49 50 54 public class MeterIntervalsSheetPropertyComponent extends javax.swing.JPanel { 55 56 private java.util.List listOfMeterIntervals = new java.util.ArrayList (); 57 58 private boolean init = false; 59 60 61 public MeterIntervalsSheetPropertyComponent() { 62 initComponents(); 63 64 applyI18n(); 67 setListOfMeterIntervals(listOfMeterIntervals); 68 } 69 70 71 76 private void initComponents() { 78 java.awt.GridBagConstraints gridBagConstraints; 79 80 jPanelColors = new javax.swing.JPanel (); 81 jPanelSample = new javax.swing.JPanel (); 82 jPanelSpacer = new javax.swing.JPanel (); 83 jButton1 = new javax.swing.JButton (); 84 85 setLayout(new java.awt.GridBagLayout ()); 86 87 setBackground(new java.awt.Color (255, 255, 255)); 88 jPanelColors.setLayout(new javax.swing.BoxLayout (jPanelColors, javax.swing.BoxLayout.X_AXIS)); 89 90 jPanelColors.setBackground(new java.awt.Color (255, 255, 255)); 91 jPanelSample.setBorder(new javax.swing.border.LineBorder (new java.awt.Color (0, 0, 0), 1, true)); 92 jPanelSample.setMaximumSize(new java.awt.Dimension (12, 12)); 93 jPanelColors.add(jPanelSample); 94 95 jPanelSpacer.setBackground(new java.awt.Color (255, 255, 255)); 96 jPanelColors.add(jPanelSpacer); 97 98 gridBagConstraints = new java.awt.GridBagConstraints (); 99 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 100 gridBagConstraints.weightx = 1.0; 101 gridBagConstraints.weighty = 1.0; 102 gridBagConstraints.insets = new java.awt.Insets (2, 4, 2, 4); 103 add(jPanelColors, gridBagConstraints); 104 105 jButton1.setText("..."); 106 jButton1.setMaximumSize(new java.awt.Dimension (19, 10)); 107 jButton1.setMinimumSize(new java.awt.Dimension (19, 10)); 108 jButton1.setPreferredSize(new java.awt.Dimension (19, 10)); 109 jButton1.addActionListener(new java.awt.event.ActionListener () { 110 public void actionPerformed(java.awt.event.ActionEvent evt) { 111 jButton1ActionPerformed(evt); 112 } 113 }); 114 115 gridBagConstraints = new java.awt.GridBagConstraints (); 116 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 117 gridBagConstraints.weighty = 1.0; 118 add(jButton1, gridBagConstraints); 119 120 } 122 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 124 MeterIntervalsDialog dialog = null; 125 Window topLevel = SwingUtilities.getWindowAncestor(this); 126 127 if (topLevel == null) 128 { 129 dialog = new MeterIntervalsDialog((Frame)null,true); 130 } 131 else if (topLevel instanceof Frame) { 132 dialog = new MeterIntervalsDialog((Frame)topLevel, true); 133 } 134 else if (topLevel instanceof Dialog) { 135 dialog = new MeterIntervalsDialog((Dialog)topLevel, true); 136 } 137 138 dialog.setMeterIntervals(listOfMeterIntervals ); 139 dialog.setVisible(true); 140 141 if (dialog.getDialogResult() == JOptionPane.OK_OPTION) 142 { 143 this.setListOfMeterIntervals( dialog.getMeterIntervals()); 144 fireActionListenerActionPerformed( new ActionEvent (this,0,"") ); 145 } 146 147 } 149 150 private javax.swing.JButton jButton1; 152 private javax.swing.JPanel jPanelColors; 153 private javax.swing.JPanel jPanelSample; 154 private javax.swing.JPanel jPanelSpacer; 155 157 160 private javax.swing.event.EventListenerList listenerList = null; 161 162 166 public synchronized void addActionListener(java.awt.event.ActionListener listener) { 167 168 if (listenerList == null ) { 169 listenerList = new javax.swing.event.EventListenerList (); 170 } 171 listenerList.add (java.awt.event.ActionListener .class, listener); 172 } 173 174 178 public synchronized void removeActionListener(java.awt.event.ActionListener listener) { 179 180 listenerList.remove (java.awt.event.ActionListener .class, listener); 181 } 182 183 188 private void fireActionListenerActionPerformed(java.awt.event.ActionEvent event) { 189 190 if (listenerList == null) return; 191 Object [] listeners = listenerList.getListenerList (); 192 for (int i = listeners.length - 2; i >= 0; i -= 2) { 193 if (listeners[i]==java.awt.event.ActionListener .class) { 194 ((java.awt.event.ActionListener )listeners[i+1]).actionPerformed (event); 195 } 196 } 197 } 198 199 public boolean isInit() { 200 return init; 201 } 202 203 public void setInit(boolean init) { 204 this.init = init; 205 } 206 207 public java.util.List getListOfMeterIntervals() { 208 return listOfMeterIntervals; 209 } 210 211 public void setListOfMeterIntervals(java.util.List listOfMeterIntervals) { 212 213 if (listOfMeterIntervals == null || !(listOfMeterIntervals instanceof List )) return; 214 215 this.listOfMeterIntervals = listOfMeterIntervals; 216 217 jPanelColors.removeAll(); 219 222 for (int i=0; i<listOfMeterIntervals.size(); ++i) 224 { 225 MeterInterval mi = (MeterInterval)listOfMeterIntervals.get(i); 226 javax.swing.JPanel panel = new javax.swing.JPanel (); 227 panel.setMinimumSize(new java.awt.Dimension (4,12)); 228 panel.setPreferredSize(new java.awt.Dimension (12,12)); 229 panel.setMaximumSize(new java.awt.Dimension (12,12)); 230 231 Color c = mi.getColor()==null ? Color.gray : Color.black; 232 233 panel.setBorder(new javax.swing.border.LineBorder (c, 1, true)); 234 panel.setBackground( mi.getColor() ); 235 236 jPanelColors.add(panel); jPanelColors.add(javax.swing.Box.createRigidArea(new java.awt.Dimension (1,0))); 240 } 241 242 243 jPanelColors.updateUI(); 247 } 249 250 public void applyI18n(){ 251 jButton1.setText(I18n.getString("meterIntervalsSheetPropertyComponent.button1","...")); 253 } 255 } 256 | Popular Tags |