1 32 33 package it.businesslogic.ireport.gui; 34 import it.businesslogic.ireport.util.I18n; 35 36 40 public class MaxRecordsDialog extends javax.swing.JDialog { 41 42 private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION; 43 44 private int maxRecords = 0; 45 46 47 public MaxRecordsDialog(java.awt.Dialog parent, boolean modal) { 48 super(parent, modal); 49 50 initAll(); 51 } 52 53 public MaxRecordsDialog(java.awt.Frame parent, boolean modal) { 54 super(parent, modal); 55 56 57 initAll(); 58 } 59 60 public void initAll() 61 { 62 initComponents(); 63 applyI18n(); 64 this.setSize(400,150); 65 it.businesslogic.ireport.util.Misc.centerFrame(this); 66 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 67 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 68 public void actionPerformed(java.awt.event.ActionEvent e) { 69 jButton2ActionPerformed(e); 70 } 71 }; 72 73 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 74 getRootPane().getActionMap().put("ESCAPE", escapeAction); 75 76 77 this.getRootPane().setDefaultButton(this.jButton1); 79 } 80 81 public int getDialogResult() { 82 return dialogResult; 83 } 84 85 public void setDialogResult(int dialogResult) { 86 this.dialogResult = dialogResult; 87 } 88 89 94 private void initComponents() { 96 java.awt.GridBagConstraints gridBagConstraints; 97 98 jPanel2 = new javax.swing.JPanel (); 99 jCheckBox1 = new javax.swing.JCheckBox (); 100 jLabel1 = new javax.swing.JLabel (); 101 jNumberFieldTop = new it.businesslogic.ireport.gui.JNumberField(); 102 jPanel1 = new javax.swing.JPanel (); 103 jButton1 = new javax.swing.JButton (); 104 jButton2 = new javax.swing.JButton (); 105 106 getContentPane().setLayout(new java.awt.GridBagLayout ()); 107 108 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 109 setResizable(false); 110 jPanel2.setLayout(new java.awt.GridBagLayout ()); 111 112 jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "REPORT MAX COUNT", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font ("Dialog", 0, 11))); 113 jPanel2.setMinimumSize(new java.awt.Dimension (350, 80)); 114 jPanel2.setPreferredSize(new java.awt.Dimension (350, 80)); 115 jCheckBox1.setText("Limit number of records from the report data source"); 116 jCheckBox1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 117 jCheckBox1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 118 jCheckBox1.addItemListener(new java.awt.event.ItemListener () { 119 public void itemStateChanged(java.awt.event.ItemEvent evt) { 120 jCheckBox1ItemStateChanged(evt); 121 } 122 }); 123 124 gridBagConstraints = new java.awt.GridBagConstraints (); 125 gridBagConstraints.gridwidth = 2; 126 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 127 gridBagConstraints.weightx = 1.0; 128 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 129 jPanel2.add(jCheckBox1, gridBagConstraints); 130 131 jLabel1.setText("Max number of records"); 132 jLabel1.setEnabled(false); 133 gridBagConstraints = new java.awt.GridBagConstraints (); 134 gridBagConstraints.gridy = 1; 135 gridBagConstraints.insets = new java.awt.Insets (0, 20, 0, 0); 136 jPanel2.add(jLabel1, gridBagConstraints); 137 138 jNumberFieldTop.setHorizontalAlignment(javax.swing.JTextField.RIGHT); 139 jNumberFieldTop.setText("0"); 140 try { 141 jNumberFieldTop.setDecimals(0); 142 } catch (java.beans.PropertyVetoException e1) { 143 e1.printStackTrace(); 144 } 145 jNumberFieldTop.setEnabled(false); 146 try { 147 jNumberFieldTop.setInteger(true); 148 } catch (java.beans.PropertyVetoException e1) { 149 e1.printStackTrace(); 150 } 151 jNumberFieldTop.setMinimumSize(new java.awt.Dimension (60, 21)); 152 jNumberFieldTop.setPreferredSize(new java.awt.Dimension (60, 21)); 153 gridBagConstraints = new java.awt.GridBagConstraints (); 154 gridBagConstraints.gridx = 1; 155 gridBagConstraints.gridy = 1; 156 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 157 gridBagConstraints.insets = new java.awt.Insets (2, 5, 2, 0); 158 jPanel2.add(jNumberFieldTop, gridBagConstraints); 159 160 gridBagConstraints = new java.awt.GridBagConstraints (); 161 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 162 gridBagConstraints.ipadx = 4; 163 gridBagConstraints.ipady = 4; 164 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 165 getContentPane().add(jPanel2, gridBagConstraints); 166 167 jPanel1.setLayout(new java.awt.GridBagLayout ()); 168 169 jButton1.setText("OK"); 170 jButton1.addActionListener(new java.awt.event.ActionListener () { 171 public void actionPerformed(java.awt.event.ActionEvent evt) { 172 jButton1ActionPerformed(evt); 173 } 174 }); 175 176 gridBagConstraints = new java.awt.GridBagConstraints (); 177 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 178 gridBagConstraints.weightx = 1.0; 179 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 180 jPanel1.add(jButton1, gridBagConstraints); 181 182 jButton2.setText("Cancel"); 183 jButton2.addActionListener(new java.awt.event.ActionListener () { 184 public void actionPerformed(java.awt.event.ActionEvent evt) { 185 jButton2ActionPerformed(evt); 186 } 187 }); 188 189 gridBagConstraints = new java.awt.GridBagConstraints (); 190 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 191 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 192 jPanel1.add(jButton2, gridBagConstraints); 193 194 gridBagConstraints = new java.awt.GridBagConstraints (); 195 gridBagConstraints.gridx = 0; 196 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 197 gridBagConstraints.weightx = 1.0; 198 gridBagConstraints.weighty = 1.0; 199 getContentPane().add(jPanel1, gridBagConstraints); 200 201 pack(); 202 } 204 private void jCheckBox1ItemStateChanged(java.awt.event.ItemEvent evt) { 206 if (jCheckBox1.isSelected()) 207 { 208 jLabel1.setEnabled(true); 209 jNumberFieldTop.setEnabled(true); 210 } 211 else 212 { 213 jLabel1.setEnabled(false); 214 jNumberFieldTop.setEnabled(false); 215 } 216 } 218 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION); 220 this.setVisible(false); 221 this.dispose(); 222 } 224 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 226 this.maxRecords = 0; 227 if (jCheckBox1.isSelected()) 228 { 229 int max_count = (int)jNumberFieldTop.getValue(); 230 if (max_count <= 0) 231 { 232 javax.swing.JOptionPane.showMessageDialog(this, 233 I18n.getString("messages.maxRecordsDialog.invalidNumber", 234 "The number of records must be greater than 0.") ); 235 return; 236 } 237 this.maxRecords = max_count; 238 } 239 240 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 241 this.setVisible(false); 242 this.dispose(); 243 } 245 246 247 public int getMaxRecords() { 248 return maxRecords; 249 } 250 251 public void setMaxRecords(int maxRecords) { 252 this.maxRecords = maxRecords; 253 if (maxRecords > 0) 254 { 255 jCheckBox1.setSelected(true); 256 try { 257 jNumberFieldTop.setValue( maxRecords ); 258 } catch (Exception ex){} 259 } 260 else 261 { 262 jCheckBox1.setSelected(false); 263 jNumberFieldTop.setEnabled(false); 264 try { 265 jNumberFieldTop.setValue( 0 ); 266 } catch (Exception ex){} 267 } 268 } 269 270 private javax.swing.JButton jButton1; 272 private javax.swing.JButton jButton2; 273 private javax.swing.JCheckBox jCheckBox1; 274 private javax.swing.JLabel jLabel1; 275 private it.businesslogic.ireport.gui.JNumberField jNumberFieldTop; 276 private javax.swing.JPanel jPanel1; 277 private javax.swing.JPanel jPanel2; 278 280 public void applyI18n(){ 281 jCheckBox1.setText(I18n.getString("maxRecordsDialog.checkBox1","Limit number of records from the report data source")); 283 jButton1.setText(I18n.getString("maxRecordsDialog.button1","OK")); 286 jButton2.setText(I18n.getString("maxRecordsDialog.button2","Cancel")); 287 jLabel1.setText(I18n.getString("maxRecordsDialog.label1","Max number of records")); 288 ((javax.swing.border.TitledBorder )jPanel2.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("maxRecordsDialog.panelBorder.ReportMaxCount","REPORT MAX COUNT") ); 290 } 291 } 292 | Popular Tags |