1 32 33 package it.businesslogic.ireport.gui.sheet; 34 35 import it.businesslogic.ireport.SubDataset; 36 import it.businesslogic.ireport.chart.DataRange; 37 import it.businesslogic.ireport.chart.MeterInterval; 38 import javax.swing.SpinnerNumberModel ; 39 import it.businesslogic.ireport.util.I18n; 40 41 45 public class MeterIntervalDialog extends javax.swing.JDialog { 46 47 private MeterInterval meterInterval = null; 48 49 private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION; 50 51 52 public MeterIntervalDialog(java.awt.Dialog parent, boolean modal) { 53 super(parent, modal); 54 initComponents(); 55 applyI18n(); 56 57 this.setSize(500,500); 58 it.businesslogic.ireport.util.Misc.centerFrame(this); 59 60 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 61 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 62 public void actionPerformed(java.awt.event.ActionEvent e) { 63 jButtonCancelActionPerformed(e); 64 } 65 }; 66 67 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 68 getRootPane().getActionMap().put("ESCAPE", escapeAction); 69 70 71 jSpinnerAlpha.setModel(new SpinnerNumberModel (1.0d, 0.0d, 1.0d, 0.01d)); 72 73 this.getRootPane().setDefaultButton(this.jButtonOK); 75 } 76 77 78 81 public void setSubDataset( SubDataset sds ) 82 { 83 jRTextExpressionHigh.setSubDataset(sds); 84 jRTextExpressionLow.setSubDataset(sds); 85 } 86 87 92 private void initComponents() { 94 java.awt.GridBagConstraints gridBagConstraints; 95 96 jPanel1 = new javax.swing.JPanel (); 97 jLabelLabel = new javax.swing.JLabel (); 98 jTextFieldLabel = new javax.swing.JTextField (); 99 jLabelColor = new javax.swing.JLabel (); 100 colorSelectorPanel = new it.businesslogic.ireport.gui.sheet.ColorSelectorPanel(); 101 jButtonDefaultColor = new javax.swing.JButton (); 102 jLabelAlpha = new javax.swing.JLabel (); 103 jSpinnerAlpha = new javax.swing.JSpinner (); 104 jLabelRangeLow = new javax.swing.JLabel (); 105 jRTextExpressionLow = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 106 jLabelRangeHigh = new javax.swing.JLabel (); 107 jRTextExpressionHigh = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 108 jSeparator1 = new javax.swing.JSeparator (); 109 jPanel6 = new javax.swing.JPanel (); 110 jPanel7 = new javax.swing.JPanel (); 111 jButtonOK = new javax.swing.JButton (); 112 jButtonCancel = new javax.swing.JButton (); 113 114 getContentPane().setLayout(new java.awt.GridBagLayout ()); 115 116 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 117 setTitle("Time series"); 118 jPanel1.setLayout(new java.awt.GridBagLayout ()); 119 120 jPanel1.setPreferredSize(new java.awt.Dimension (400, 250)); 121 jLabelLabel.setText("Label"); 122 gridBagConstraints = new java.awt.GridBagConstraints (); 123 gridBagConstraints.gridx = 0; 124 gridBagConstraints.gridy = 0; 125 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 126 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 4); 127 jPanel1.add(jLabelLabel, gridBagConstraints); 128 129 gridBagConstraints = new java.awt.GridBagConstraints (); 130 gridBagConstraints.gridx = 1; 131 gridBagConstraints.gridwidth = 2; 132 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 133 gridBagConstraints.weightx = 1.0; 134 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 135 jPanel1.add(jTextFieldLabel, gridBagConstraints); 136 137 jLabelColor.setText("Color"); 138 gridBagConstraints = new java.awt.GridBagConstraints (); 139 gridBagConstraints.gridx = 0; 140 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 141 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 4); 142 jPanel1.add(jLabelColor, gridBagConstraints); 143 144 colorSelectorPanel.setBorder(new javax.swing.border.LineBorder (new java.awt.Color (102, 102, 102), 1, true)); 145 colorSelectorPanel.setMinimumSize(new java.awt.Dimension (50, 10)); 146 colorSelectorPanel.setPreferredSize(new java.awt.Dimension (130, 22)); 147 colorSelectorPanel.addActionListener(new java.awt.event.ActionListener () { 148 public void actionPerformed(java.awt.event.ActionEvent evt) { 149 colorSelectorPanelActionPerformed(evt); 150 } 151 }); 152 153 gridBagConstraints = new java.awt.GridBagConstraints (); 154 gridBagConstraints.gridx = 1; 155 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 156 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 157 jPanel1.add(colorSelectorPanel, gridBagConstraints); 158 159 jButtonDefaultColor.setText("Use default color"); 160 jButtonDefaultColor.addActionListener(new java.awt.event.ActionListener () { 161 public void actionPerformed(java.awt.event.ActionEvent evt) { 162 jButtonDefaultColorActionPerformed(evt); 163 } 164 }); 165 166 gridBagConstraints = new java.awt.GridBagConstraints (); 167 gridBagConstraints.gridx = 2; 168 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 169 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 170 jPanel1.add(jButtonDefaultColor, gridBagConstraints); 171 172 jLabelAlpha.setText("Alpha"); 173 gridBagConstraints = new java.awt.GridBagConstraints (); 174 gridBagConstraints.gridx = 0; 175 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 176 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 4); 177 jPanel1.add(jLabelAlpha, gridBagConstraints); 178 179 jSpinnerAlpha.setMinimumSize(new java.awt.Dimension (100, 18)); 180 jSpinnerAlpha.setPreferredSize(new java.awt.Dimension (130, 18)); 181 gridBagConstraints = new java.awt.GridBagConstraints (); 182 gridBagConstraints.gridx = 1; 183 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 184 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 185 jPanel1.add(jSpinnerAlpha, gridBagConstraints); 186 187 jLabelRangeLow.setText("Data range low expression"); 188 gridBagConstraints = new java.awt.GridBagConstraints (); 189 gridBagConstraints.gridx = 0; 190 gridBagConstraints.gridwidth = 3; 191 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 192 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 193 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 194 jPanel1.add(jLabelRangeLow, gridBagConstraints); 195 196 jRTextExpressionLow.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 197 jRTextExpressionLow.setElectricScroll(0); 198 jRTextExpressionLow.setMinimumSize(new java.awt.Dimension (10, 10)); 199 jRTextExpressionLow.setPreferredSize(new java.awt.Dimension (10, 10)); 200 gridBagConstraints = new java.awt.GridBagConstraints (); 201 gridBagConstraints.gridx = 0; 202 gridBagConstraints.gridwidth = 3; 203 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 204 gridBagConstraints.weightx = 1.0; 205 gridBagConstraints.weighty = 1.0; 206 gridBagConstraints.insets = new java.awt.Insets (0, 0, 4, 0); 207 jPanel1.add(jRTextExpressionLow, gridBagConstraints); 208 209 jLabelRangeHigh.setText("Data range high expression"); 210 gridBagConstraints = new java.awt.GridBagConstraints (); 211 gridBagConstraints.gridx = 0; 212 gridBagConstraints.gridwidth = 3; 213 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 214 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 215 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 216 jPanel1.add(jLabelRangeHigh, gridBagConstraints); 217 218 jRTextExpressionHigh.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 219 jRTextExpressionHigh.setElectricScroll(0); 220 jRTextExpressionHigh.setMinimumSize(new java.awt.Dimension (10, 10)); 221 jRTextExpressionHigh.setPreferredSize(new java.awt.Dimension (10, 10)); 222 gridBagConstraints = new java.awt.GridBagConstraints (); 223 gridBagConstraints.gridx = 0; 224 gridBagConstraints.gridwidth = 3; 225 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 226 gridBagConstraints.weightx = 1.0; 227 gridBagConstraints.weighty = 1.0; 228 gridBagConstraints.insets = new java.awt.Insets (0, 0, 4, 0); 229 jPanel1.add(jRTextExpressionHigh, gridBagConstraints); 230 231 gridBagConstraints = new java.awt.GridBagConstraints (); 232 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 233 gridBagConstraints.weightx = 1.0; 234 gridBagConstraints.weighty = 1.0; 235 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 236 getContentPane().add(jPanel1, gridBagConstraints); 237 238 gridBagConstraints = new java.awt.GridBagConstraints (); 239 gridBagConstraints.gridx = 0; 240 gridBagConstraints.gridwidth = 2; 241 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 242 gridBagConstraints.weightx = 1.0; 243 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 0); 244 getContentPane().add(jSeparator1, gridBagConstraints); 245 246 jPanel6.setLayout(new java.awt.GridBagLayout ()); 247 248 gridBagConstraints = new java.awt.GridBagConstraints (); 249 gridBagConstraints.gridheight = 2; 250 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 251 gridBagConstraints.weightx = 1.0; 252 gridBagConstraints.weighty = 1.0; 253 jPanel6.add(jPanel7, gridBagConstraints); 254 255 jButtonOK.setMnemonic('o'); 256 jButtonOK.setText("OK"); 257 jButtonOK.addActionListener(new java.awt.event.ActionListener () { 258 public void actionPerformed(java.awt.event.ActionEvent evt) { 259 jButtonOKActionPerformed(evt); 260 } 261 }); 262 263 gridBagConstraints = new java.awt.GridBagConstraints (); 264 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 265 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 266 jPanel6.add(jButtonOK, gridBagConstraints); 267 268 jButtonCancel.setMnemonic('c'); 269 jButtonCancel.setText("Cancel"); 270 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 271 public void actionPerformed(java.awt.event.ActionEvent evt) { 272 jButtonCancelActionPerformed(evt); 273 } 274 }); 275 276 gridBagConstraints = new java.awt.GridBagConstraints (); 277 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 278 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 0); 279 jPanel6.add(jButtonCancel, gridBagConstraints); 280 281 gridBagConstraints = new java.awt.GridBagConstraints (); 282 gridBagConstraints.gridx = 0; 283 gridBagConstraints.gridy = 18; 284 gridBagConstraints.gridwidth = 2; 285 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 286 gridBagConstraints.weightx = 1.0; 287 getContentPane().add(jPanel6, gridBagConstraints); 288 289 pack(); 290 } 292 private void jButtonDefaultColorActionPerformed(java.awt.event.ActionEvent evt) { 294 colorSelectorPanel.setValue(null); 295 296 } 298 private void colorSelectorPanelActionPerformed(java.awt.event.ActionEvent evt) { 300 } 302 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false); 304 this.dispose(); 305 } 307 private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) { 309 MeterInterval tmpmi = getMeterInterval(); 310 if (tmpmi == null) 311 { 312 tmpmi = new MeterInterval(); 313 } 314 315 tmpmi.setLabel( jTextFieldLabel.getText()); 316 tmpmi.setColor( (java.awt.Color )ColorSelectorPanel.parseColorString( ""+colorSelectorPanel.getValue())); 317 318 tmpmi.setAlpha( ((SpinnerNumberModel )jSpinnerAlpha.getModel()).getNumber().doubleValue() ); 319 tmpmi.getDataRange().setLowExpression( jRTextExpressionLow.getText() ); 320 tmpmi.getDataRange().setHighExpression( jRTextExpressionHigh.getText() ); 321 322 setMeterInterval( tmpmi ); 323 324 this.setDialogResult(javax.swing.JOptionPane.OK_OPTION); 325 this.setVisible(false); 326 this.dispose(); 327 } 329 330 public int getDialogResult() { 331 return dialogResult; 332 } 333 334 public void setDialogResult(int dialogResult) { 335 this.dialogResult = dialogResult; 336 } 337 338 private it.businesslogic.ireport.gui.sheet.ColorSelectorPanel colorSelectorPanel; 340 private javax.swing.JButton jButtonCancel; 341 private javax.swing.JButton jButtonDefaultColor; 342 private javax.swing.JButton jButtonOK; 343 private javax.swing.JLabel jLabelAlpha; 344 private javax.swing.JLabel jLabelColor; 345 private javax.swing.JLabel jLabelLabel; 346 private javax.swing.JLabel jLabelRangeHigh; 347 private javax.swing.JLabel jLabelRangeLow; 348 private javax.swing.JPanel jPanel1; 349 private javax.swing.JPanel jPanel6; 350 private javax.swing.JPanel jPanel7; 351 private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionHigh; 352 private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionLow; 353 private javax.swing.JSeparator jSeparator1; 354 private javax.swing.JSpinner jSpinnerAlpha; 355 private javax.swing.JTextField jTextFieldLabel; 356 358 public void applyI18n() 359 { 360 jButtonDefaultColor.setText(I18n.getString("meterIntervalDialog.buttonDefaultColor","Use default color")); 362 jButtonOK.setText( it.businesslogic.ireport.util.I18n.getString("ok","Ok")); 364 jButtonCancel.setText( it.businesslogic.ireport.util.I18n.getString("cancel","Cancel")); 365 366 jLabelLabel.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.label","Label")); 367 jLabelColor.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.color","Color")); 368 jLabelAlpha.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.alpha","Alpha")); 369 jLabelRangeHigh.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.highexp","Data range high expression")); 370 jLabelRangeLow.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.lowexp","Data range low expression")); 371 372 this.getRootPane().updateUI(); 373 } 374 375 376 public MeterInterval getMeterInterval() { 377 return meterInterval; 378 } 379 380 386 public void setMeterInterval(MeterInterval meterInterval) { 387 this.meterInterval = meterInterval; 388 389 if (meterInterval != null) 390 { 391 jTextFieldLabel.setText( meterInterval.getLabel() ); 392 ((SpinnerNumberModel )jSpinnerAlpha.getModel()).setValue( new Double ( meterInterval.getAlpha() )); 393 if ( meterInterval.getColor() != null) 394 { 395 colorSelectorPanel.setValue(meterInterval.getColor() ); 396 } 397 jRTextExpressionLow.setText( meterInterval.getDataRange().getLowExpression() ); 398 jRTextExpressionHigh.setText( meterInterval.getDataRange().getHighExpression() ); 399 } 400 } 401 } 402 | Popular Tags |