1 32 33 package it.businesslogic.ireport.gui.locale; 34 import org.syntax.jedit.*; 35 import java.io.*; 36 import it.businesslogic.ireport.util.I18n; 37 38 42 public class LocaleEditorDialog extends javax.swing.JDialog { 43 44 private JEditTextArea textArea; 45 private File file = null; 46 47 48 public LocaleEditorDialog(java.awt.Frame parent, boolean modal) { 49 super(parent, modal); 50 initComponents(); 51 applyI18n(); 52 textArea = new JEditTextArea(); 53 textArea.getPainter().setLineHighlightColor(java.awt.Color.WHITE); 54 textArea.setDocument(new SyntaxDocument()); 55 textArea.setTokenMarker(new org.syntax.jedit.tokenmarker.PropsTokenMarker()); 56 57 java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints (); 58 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 59 gridBagConstraints.gridx = 0; 60 gridBagConstraints.gridy = 0; 61 gridBagConstraints.weightx = 1.0; 62 gridBagConstraints.weighty = 1.0; 63 gridBagConstraints.insets = new java.awt.Insets (0, 0, 0, 0); 64 textArea.setBorder(new javax.swing.border.BevelBorder (javax.swing.border.BevelBorder.LOWERED)); 65 jPanel1.add(textArea, gridBagConstraints); 66 67 this.setSize(700,600); 68 it.businesslogic.ireport.util.Misc.centerFrame(this); 69 70 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 71 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 72 public void actionPerformed(java.awt.event.ActionEvent e) { 73 jButtonCloseActionPerformed(e); 74 } 75 }; 76 77 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 78 getRootPane().getActionMap().put("ESCAPE", escapeAction); 79 80 81 this.getRootPane().setDefaultButton(this.jButtonSave); 83 } 84 85 public void setFile(File file) 86 { 87 this.file = file; 88 String str = ""; 89 90 try { 91 FileInputStream fis = new FileInputStream(file); 92 byte[] buffer = new byte[1024]; 93 int read = 0; 94 while ((read = fis.read(buffer)) > 0) 95 { 96 str += new String (buffer,0,read); 97 } 98 fis.close(); 99 } catch (Exception ex){} 100 textArea.setText(str); 101 textArea.setCaretPosition(0); 102 textArea.updateScrollBars(); 103 textArea.updateUI(); 104 } 105 110 private void initComponents() { 112 java.awt.GridBagConstraints gridBagConstraints; 113 114 jPanelData = new javax.swing.JPanel (); 115 jPanel1 = new javax.swing.JPanel (); 116 jPanel2 = new javax.swing.JPanel (); 117 jButtonSave = new javax.swing.JButton (); 118 jButtonRevertToSaved = new javax.swing.JButton (); 119 jButtonGetKeys = new javax.swing.JButton (); 120 jPanel3 = new javax.swing.JPanel (); 121 jButtonClose = new javax.swing.JButton (); 122 123 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 124 jPanelData.setLayout(new java.awt.GridBagLayout ()); 125 126 jPanel1.setLayout(new java.awt.GridBagLayout ()); 127 128 jPanel1.addComponentListener(new java.awt.event.ComponentAdapter () { 129 public void componentResized(java.awt.event.ComponentEvent evt) { 130 jPanel1ComponentResized(evt); 131 } 132 }); 133 134 gridBagConstraints = new java.awt.GridBagConstraints (); 135 gridBagConstraints.gridx = 0; 136 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 137 gridBagConstraints.weightx = 1.0; 138 gridBagConstraints.weighty = 1.0; 139 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 140 jPanelData.add(jPanel1, gridBagConstraints); 141 142 jPanel2.setLayout(new java.awt.GridBagLayout ()); 143 144 jPanel2.setMinimumSize(new java.awt.Dimension (140, 151)); 145 jPanel2.setPreferredSize(new java.awt.Dimension (140, 100)); 146 jButtonSave.setText("Save"); 147 jButtonSave.addActionListener(new java.awt.event.ActionListener () { 148 public void actionPerformed(java.awt.event.ActionEvent evt) { 149 jButtonSaveActionPerformed(evt); 150 } 151 }); 152 153 gridBagConstraints = new java.awt.GridBagConstraints (); 154 gridBagConstraints.gridx = 0; 155 gridBagConstraints.gridy = 1; 156 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 157 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 158 gridBagConstraints.weightx = 1.0; 159 jPanel2.add(jButtonSave, gridBagConstraints); 160 161 jButtonRevertToSaved.setText("Revert to saved"); 162 jButtonRevertToSaved.setActionCommand("Modify locale"); 163 jButtonRevertToSaved.addActionListener(new java.awt.event.ActionListener () { 164 public void actionPerformed(java.awt.event.ActionEvent evt) { 165 jButtonRevertToSavedActionPerformed(evt); 166 } 167 }); 168 169 gridBagConstraints = new java.awt.GridBagConstraints (); 170 gridBagConstraints.gridx = 0; 171 gridBagConstraints.gridy = 4; 172 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 173 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 174 gridBagConstraints.weightx = 1.0; 175 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 176 jPanel2.add(jButtonRevertToSaved, gridBagConstraints); 177 178 jButtonGetKeys.setText("Get keys from default"); 179 jButtonGetKeys.setActionCommand("Modify locale"); 180 gridBagConstraints = new java.awt.GridBagConstraints (); 181 gridBagConstraints.gridx = 0; 182 gridBagConstraints.gridy = 5; 183 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 184 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 185 gridBagConstraints.weightx = 1.0; 186 gridBagConstraints.insets = new java.awt.Insets (4, 0, 0, 0); 187 jPanel2.add(jButtonGetKeys, gridBagConstraints); 188 189 gridBagConstraints = new java.awt.GridBagConstraints (); 190 gridBagConstraints.gridx = 0; 191 gridBagConstraints.gridy = 10; 192 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 193 gridBagConstraints.weightx = 1.0; 194 gridBagConstraints.weighty = 1.0; 195 jPanel2.add(jPanel3, gridBagConstraints); 196 197 jButtonClose.setText("Close"); 198 jButtonClose.addActionListener(new java.awt.event.ActionListener () { 199 public void actionPerformed(java.awt.event.ActionEvent evt) { 200 jButtonCloseActionPerformed(evt); 201 } 202 }); 203 204 gridBagConstraints = new java.awt.GridBagConstraints (); 205 gridBagConstraints.gridx = 0; 206 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 207 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 208 gridBagConstraints.weightx = 1.0; 209 jPanel2.add(jButtonClose, gridBagConstraints); 210 211 gridBagConstraints = new java.awt.GridBagConstraints (); 212 gridBagConstraints.gridx = 1; 213 gridBagConstraints.gridy = 0; 214 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 215 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 216 jPanelData.add(jPanel2, gridBagConstraints); 217 218 getContentPane().add(jPanelData, java.awt.BorderLayout.CENTER); 219 220 pack(); 221 } 223 private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false); 225 this.dispose(); 226 } 228 private void jPanel1ComponentResized(java.awt.event.ComponentEvent evt) { textArea.updateScrollBars(); 230 if (textArea.getVisibleLines() >= textArea.getLineCount()){ 231 textArea.setFirstLine(0); 232 } 233 } 235 private void jButtonRevertToSavedActionPerformed(java.awt.event.ActionEvent evt) { setFile( file ); 237 } 239 private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) { 241 try { 242 FileOutputStream fos = new FileOutputStream(file); 243 fos.write( textArea.getText().getBytes() ); 244 fos.close(); 245 } catch (Exception ex) { 246 javax.swing.JOptionPane.showMessageDialog(this, 247 I18n.getFormattedString("messages.localeEditorDialog.errorSaving","Error saving {0}:\n{1}", 248 new Object []{file.getName(),ex.getMessage()}) 249 ); 250 } 251 } 253 254 255 private javax.swing.JButton jButtonClose; 257 private javax.swing.JButton jButtonGetKeys; 258 private javax.swing.JButton jButtonRevertToSaved; 259 private javax.swing.JButton jButtonSave; 260 private javax.swing.JPanel jPanel1; 261 private javax.swing.JPanel jPanel2; 262 private javax.swing.JPanel jPanel3; 263 private javax.swing.JPanel jPanelData; 264 266 public void applyI18n(){ 267 jButtonClose.setText(I18n.getString("localeEditorDialog.buttonClose","Close")); 269 jButtonGetKeys.setText(I18n.getString("localeEditorDialog.buttonGetKeys","Get keys from default")); 270 jButtonRevertToSaved.setText(I18n.getString("localeEditorDialog.buttonRevertToSaved","Revert to saved")); 271 jButtonSave.setText(I18n.getString("localeEditorDialog.buttonSave","Save")); 272 } 274 } 275 | Popular Tags |