1 32 33 package it.businesslogic.ireport.crosstab.gui; 34 35 import it.businesslogic.ireport.util.*; 36 import it.businesslogic.ireport.*; 37 import it.businesslogic.ireport.crosstab.*; 38 42 public class CrosstabParameterDialog extends javax.swing.JDialog { 43 44 CrosstabParameter tmpParameter = null; 45 46 public CrosstabParameterDialog(java.awt.Frame parent, boolean modal) { 47 48 super(parent, modal); 49 initAll(); 50 } 51 52 public CrosstabParameterDialog(java.awt.Dialog parent, boolean modal) { 53 54 super(parent, modal); 55 initAll(); 56 } 57 58 public void initAll() 59 { 60 initComponents(); 61 this.jRTextExpressionAreaDefaultExpression.setText(""); 62 setClassTypes(); 63 this.jComboBoxType.setSelectedItem("java.lang.String"); 64 65 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 66 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 67 public void actionPerformed(java.awt.event.ActionEvent e) { 68 jButtonCancelActionPerformed(e); 69 } 70 }; 71 72 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 73 getRootPane().getActionMap().put("ESCAPE", escapeAction); 74 75 76 this.getRootPane().setDefaultButton(this.jButtonOK); 78 applyI18n(); 79 } 80 81 public void setClassTypes() 82 { 83 this.jComboBoxType.addItem("java.lang.String"); 84 this.jComboBoxType.addItem("java.lang.Object"); 85 this.jComboBoxType.addItem("java.lang.Boolean"); 86 this.jComboBoxType.addItem("java.lang.Byte"); 87 this.jComboBoxType.addItem("java.util.Date"); 88 this.jComboBoxType.addItem("java.sql.Timestamp"); 89 this.jComboBoxType.addItem("java.sql.Time"); 90 this.jComboBoxType.addItem("java.lang.Double"); 91 this.jComboBoxType.addItem("java.lang.Float"); 92 this.jComboBoxType.addItem("java.lang.Integer"); 93 this.jComboBoxType.addItem("java.io.InputStream"); 94 this.jComboBoxType.addItem("java.lang.Long"); 95 this.jComboBoxType.addItem("java.lang.Short"); 96 this.jComboBoxType.addItem("java.math.BigDecimal"); 97 this.jComboBoxType.addItem("net.sf.jasperreports.engine.JREmptyDataSource"); 98 } 99 100 105 private void initComponents() { 107 java.awt.GridBagConstraints gridBagConstraints; 108 109 jLabel1 = new javax.swing.JLabel (); 110 jTextFieldName = new javax.swing.JTextField (); 111 jLabel2 = new javax.swing.JLabel (); 112 jComboBoxType = new javax.swing.JComboBox (); 113 jLabel3 = new javax.swing.JLabel (); 114 jRTextExpressionAreaDefaultExpression = new it.businesslogic.ireport.gui.JRTextExpressionArea(); 115 jPanel1 = new javax.swing.JPanel (); 116 jButtonOK = new javax.swing.JButton (); 117 jButtonCancel = new javax.swing.JButton (); 118 119 getContentPane().setLayout(new java.awt.GridBagLayout ()); 120 121 setTitle("Add/modify crosstab parameter"); 122 setModal(true); 123 addWindowListener(new java.awt.event.WindowAdapter () { 124 public void windowClosing(java.awt.event.WindowEvent evt) { 125 closeDialog(evt); 126 } 127 }); 128 129 jLabel1.setText("Parameter name"); 130 gridBagConstraints = new java.awt.GridBagConstraints (); 131 gridBagConstraints.gridx = 0; 132 gridBagConstraints.gridy = 0; 133 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 134 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 135 getContentPane().add(jLabel1, gridBagConstraints); 136 137 gridBagConstraints = new java.awt.GridBagConstraints (); 138 gridBagConstraints.gridx = 0; 139 gridBagConstraints.gridy = 1; 140 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 141 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 142 gridBagConstraints.insets = new java.awt.Insets (0, 3, 3, 3); 143 getContentPane().add(jTextFieldName, gridBagConstraints); 144 145 jLabel2.setText("Parameter class type"); 146 gridBagConstraints = new java.awt.GridBagConstraints (); 147 gridBagConstraints.gridx = 0; 148 gridBagConstraints.gridy = 2; 149 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 150 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 151 getContentPane().add(jLabel2, gridBagConstraints); 152 153 jComboBoxType.setEditable(true); 154 gridBagConstraints = new java.awt.GridBagConstraints (); 155 gridBagConstraints.gridx = 0; 156 gridBagConstraints.gridy = 3; 157 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 158 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 159 gridBagConstraints.insets = new java.awt.Insets (0, 3, 3, 3); 160 getContentPane().add(jComboBoxType, gridBagConstraints); 161 162 jLabel3.setText("Value expression"); 163 gridBagConstraints = new java.awt.GridBagConstraints (); 164 gridBagConstraints.gridx = 0; 165 gridBagConstraints.gridy = 5; 166 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 167 gridBagConstraints.insets = new java.awt.Insets (3, 3, 0, 3); 168 getContentPane().add(jLabel3, gridBagConstraints); 169 170 jRTextExpressionAreaDefaultExpression.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 171 jRTextExpressionAreaDefaultExpression.setCaretVisible(false); 172 jRTextExpressionAreaDefaultExpression.setElectricScroll(0); 173 jRTextExpressionAreaDefaultExpression.setMinimumSize(new java.awt.Dimension (0, 60)); 174 jRTextExpressionAreaDefaultExpression.setPreferredSize(new java.awt.Dimension (310, 60)); 175 gridBagConstraints = new java.awt.GridBagConstraints (); 176 gridBagConstraints.gridx = 0; 177 gridBagConstraints.gridy = 6; 178 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 179 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 180 gridBagConstraints.weighty = 1.0; 181 gridBagConstraints.insets = new java.awt.Insets (0, 3, 3, 3); 182 getContentPane().add(jRTextExpressionAreaDefaultExpression, gridBagConstraints); 183 184 jPanel1.setLayout(new java.awt.FlowLayout (java.awt.FlowLayout.RIGHT)); 185 186 jButtonOK.setMnemonic('o'); 187 jButtonOK.setText("OK"); 188 jButtonOK.addActionListener(new java.awt.event.ActionListener () { 189 public void actionPerformed(java.awt.event.ActionEvent evt) { 190 jButtonOKActionPerformed(evt); 191 } 192 }); 193 194 jPanel1.add(jButtonOK); 195 196 jButtonCancel.setMnemonic('c'); 197 jButtonCancel.setText("Cancel"); 198 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 199 public void actionPerformed(java.awt.event.ActionEvent evt) { 200 jButtonCancelActionPerformed(evt); 201 } 202 }); 203 204 jPanel1.add(jButtonCancel); 205 206 gridBagConstraints = new java.awt.GridBagConstraints (); 207 gridBagConstraints.gridx = 0; 208 gridBagConstraints.gridy = 9; 209 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 210 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 211 gridBagConstraints.weightx = 1.0; 212 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 213 getContentPane().add(jPanel1, gridBagConstraints); 214 215 pack(); 216 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 217 java.awt.Dimension dialogSize = getSize(); 218 setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2); 219 } 221 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { setVisible(false); 223 this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION); 224 dispose(); 225 } 227 private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) { if (this.jTextFieldName.getText().trim().length() <= 0) 229 { 230 javax.swing.JOptionPane.showMessageDialog(this, 231 I18n.getString("messages.crosstabParameterDialog.invalidParameterName","Please insert a valid parameter name!"), 232 I18n.getString("messages.crosstabParameterDialog.invalidParameterNameCaption","Invalid parameter!"), 233 javax.swing.JOptionPane.WARNING_MESSAGE ); 234 return; 235 } 236 237 tmpParameter = new CrosstabParameter( this.jTextFieldName.getText(), "java.lang.String", 238 this.jRTextExpressionAreaDefaultExpression.getText()); 239 if (this.jComboBoxType.getSelectedItem().toString().trim().length() != 0) 240 { 241 tmpParameter.setClassType( this.jComboBoxType.getSelectedItem().toString().trim() ); 242 } 243 244 setVisible(false); 245 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 246 dispose(); 247 } 249 250 private void closeDialog(java.awt.event.WindowEvent evt) { setVisible(false); 252 this.setDialogResult( javax.swing.JOptionPane.CLOSED_OPTION); 253 dispose(); 254 } 256 260 public it.businesslogic.ireport.crosstab.CrosstabParameter getParameter() { 261 return tmpParameter; 262 } 263 264 268 public void setParameter(it.businesslogic.ireport.crosstab.CrosstabParameter tmpParameter) { 269 this.jTextFieldName.setText( new String (tmpParameter.getName())); 270 this.jComboBoxType.setSelectedItem( new String (tmpParameter.getClassType())); 271 this.jRTextExpressionAreaDefaultExpression.setText( new String (tmpParameter.getParameterValueExpression())); 272 } 273 274 278 public int getDialogResult() { 279 return dialogResult; 280 } 281 282 286 public void setDialogResult(int dialogResult) { 287 this.dialogResult = dialogResult; 288 } 289 290 private javax.swing.JButton jButtonCancel; 292 private javax.swing.JButton jButtonOK; 293 private javax.swing.JComboBox jComboBoxType; 294 private javax.swing.JLabel jLabel1; 295 private javax.swing.JLabel jLabel2; 296 private javax.swing.JLabel jLabel3; 297 private javax.swing.JPanel jPanel1; 298 private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionAreaDefaultExpression; 299 private javax.swing.JTextField jTextFieldName; 300 302 private int dialogResult; 303 304 public void setSubDataset(SubDataset subDataset) { 305 306 jRTextExpressionAreaDefaultExpression.setSubDataset( subDataset); 307 jRTextExpressionAreaDefaultExpression.getTokenMarker().setKeywordLookup(subDataset.getKeywordLookup()); 308 } 309 310 public void applyI18n(){ 311 jButtonCancel.setText(I18n.getString("crosstabParameterDialog.buttonCancel","Cancel")); 313 jButtonOK.setText(I18n.getString("crosstabParameterDialog.buttonOK","OK")); 314 jLabel1.setText(I18n.getString("crosstabParameterDialog.label1","Parameter name")); 315 jLabel2.setText(I18n.getString("crosstabParameterDialog.label2","Parameter class type")); 316 jLabel3.setText(I18n.getString("crosstabParameterDialog.label3","Value expression")); 317 } 319 } 320 | Popular Tags |