KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > locale > LocaleEditorDialog


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * LocaleEditorDialog.java
28  *
29  * Created on 17 novembre 2004, 0.56
30  *
31  */

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 /**
39  *
40  * @author Administrator
41  */

42 public class LocaleEditorDialog extends javax.swing.JDialog JavaDoc {
43     
44     private JEditTextArea textArea;
45     private File file = null;
46     
47     /** Creates new form LocaleEditorDialog */
48     public LocaleEditorDialog(java.awt.Frame JavaDoc 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 JavaDoc gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(0, 0, 0, 0);
64         textArea.setBorder(new javax.swing.border.BevelBorder JavaDoc(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 JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
71         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
72             public void actionPerformed(java.awt.event.ActionEvent JavaDoc 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         //to make the default button ...
82
this.getRootPane().setDefaultButton(this.jButtonSave);
83     }
84     
85     public void setFile(File file)
86     {
87         this.file = file;
88         String JavaDoc 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 JavaDoc(buffer,0,read);
97             }
98             fis.close();
99         } catch (Exception JavaDoc ex){}
100         textArea.setText(str);
101         textArea.setCaretPosition(0);
102         textArea.updateScrollBars();
103         textArea.updateUI();
104     }
105     /** This method is called from within the constructor to
106      * initialize the form.
107      * WARNING: Do NOT modify this code. The content of this method is
108      * always regenerated by the Form Editor.
109      */

110     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
111
private void initComponents() {
112         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
113
114         jPanelData = new javax.swing.JPanel JavaDoc();
115         jPanel1 = new javax.swing.JPanel JavaDoc();
116         jPanel2 = new javax.swing.JPanel JavaDoc();
117         jButtonSave = new javax.swing.JButton JavaDoc();
118         jButtonRevertToSaved = new javax.swing.JButton JavaDoc();
119         jButtonGetKeys = new javax.swing.JButton JavaDoc();
120         jPanel3 = new javax.swing.JPanel JavaDoc();
121         jButtonClose = new javax.swing.JButton JavaDoc();
122
123         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
124         jPanelData.setLayout(new java.awt.GridBagLayout JavaDoc());
125
126         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
127
128         jPanel1.addComponentListener(new java.awt.event.ComponentAdapter JavaDoc() {
129             public void componentResized(java.awt.event.ComponentEvent JavaDoc evt) {
130                 jPanel1ComponentResized(evt);
131             }
132         });
133
134         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(4, 4, 4, 4);
140         jPanelData.add(jPanel1, gridBagConstraints);
141
142         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
143
144         jPanel2.setMinimumSize(new java.awt.Dimension JavaDoc(140, 151));
145         jPanel2.setPreferredSize(new java.awt.Dimension JavaDoc(140, 100));
146         jButtonSave.setText("Save");
147         jButtonSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
148             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
149                 jButtonSaveActionPerformed(evt);
150             }
151         });
152
153         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc() {
164             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
165                 jButtonRevertToSavedActionPerformed(evt);
166             }
167         });
168
169         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(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 JavaDoc();
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 JavaDoc(4, 0, 0, 0);
187         jPanel2.add(jButtonGetKeys, gridBagConstraints);
188
189         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc() {
199             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
200                 jButtonCloseActionPerformed(evt);
201             }
202         });
203
204         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc();
212         gridBagConstraints.gridx = 1;
213         gridBagConstraints.gridy = 0;
214         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
215         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
216         jPanelData.add(jPanel2, gridBagConstraints);
217
218         getContentPane().add(jPanelData, java.awt.BorderLayout.CENTER);
219
220         pack();
221     }// </editor-fold>//GEN-END:initComponents
222

223     private void jButtonCloseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCloseActionPerformed
224
this.setVisible(false);
225         this.dispose();
226     }//GEN-LAST:event_jButtonCloseActionPerformed
227

228     private void jPanel1ComponentResized(java.awt.event.ComponentEvent JavaDoc evt) {//GEN-FIRST:event_jPanel1ComponentResized
229
textArea.updateScrollBars();
230         if (textArea.getVisibleLines() >= textArea.getLineCount()){
231             textArea.setFirstLine(0);
232         }
233     }//GEN-LAST:event_jPanel1ComponentResized
234

235     private void jButtonRevertToSavedActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRevertToSavedActionPerformed
236
setFile( file );
237     }//GEN-LAST:event_jButtonRevertToSavedActionPerformed
238

239     private void jButtonSaveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonSaveActionPerformed
240

241         try {
242             FileOutputStream fos = new FileOutputStream(file);
243             fos.write( textArea.getText().getBytes() );
244             fos.close();
245         } catch (Exception JavaDoc ex) {
246             javax.swing.JOptionPane.showMessageDialog(this,
247                     I18n.getFormattedString("messages.localeEditorDialog.errorSaving","Error saving {0}:\n{1}",
248                     new Object JavaDoc[]{file.getName(),ex.getMessage()})
249                     );
250         }
251     }//GEN-LAST:event_jButtonSaveActionPerformed
252

253
254     
255     // Variables declaration - do not modify//GEN-BEGIN:variables
256
private javax.swing.JButton JavaDoc jButtonClose;
257     private javax.swing.JButton JavaDoc jButtonGetKeys;
258     private javax.swing.JButton JavaDoc jButtonRevertToSaved;
259     private javax.swing.JButton JavaDoc jButtonSave;
260     private javax.swing.JPanel JavaDoc jPanel1;
261     private javax.swing.JPanel JavaDoc jPanel2;
262     private javax.swing.JPanel JavaDoc jPanel3;
263     private javax.swing.JPanel JavaDoc jPanelData;
264     // End of variables declaration//GEN-END:variables
265

266     public void applyI18n(){
267                 // Start autogenerated code ----------------------
268
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                 // End autogenerated code ----------------------
273
}
274 }
275
Popular Tags