001: /*
002: * Created on 05/04/2007
003: *
004: * Swing Components - visit http://sf.net/projects/gfd
005: *
006: * Copyright (C) 2007 Igor Regis da Silva Simões
007: *
008: * This program is free software; you can redistribute it and/or
009: * modify it under the terms of the GNU General Public License
010: * as published by the Free Software Foundation; either version 2
011: * of the License, or (at your option) any later version.
012: *
013: * This program is distributed in the hope that it will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
016: * GNU General Public License for more details.
017: *
018: * You should have received a copy of the GNU General Public License
019: * along with this program; if not, write to the Free Software
020: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
021: *
022: */
023: package br.com.gfp.ofc.windows;
024:
025: import java.awt.Frame;
026: import java.awt.GridBagConstraints;
027: import java.awt.GridBagLayout;
028: import java.awt.event.ActionEvent;
029: import java.awt.event.ActionListener;
030: import java.awt.event.FocusAdapter;
031: import java.awt.event.FocusEvent;
032: import java.text.ParseException;
033:
034: import javax.swing.JButton;
035: import javax.swing.JCheckBox;
036: import javax.swing.JFileChooser;
037: import javax.swing.JFormattedTextField;
038: import javax.swing.JFrame;
039: import javax.swing.JLabel;
040: import javax.swing.JOptionPane;
041: import javax.swing.JPanel;
042: import javax.swing.JSpinner;
043: import javax.swing.JTextArea;
044: import javax.swing.JTextField;
045: import javax.swing.SpinnerNumberModel;
046: import javax.swing.event.ChangeEvent;
047: import javax.swing.event.ChangeListener;
048: import javax.swing.text.DefaultFormatterFactory;
049: import javax.swing.text.MaskFormatter;
050:
051: import br.com.gfp.dao.GFPController;
052: import br.com.gfp.data.Account;
053: import br.com.gfp.data.AccountSaving;
054: import br.com.gfp.data.AccountType;
055: import br.com.gfp.data.CheckingAccount;
056: import br.com.gfp.data.CreditCard;
057: import br.com.gfp.data.PrescriptedCSVImport;
058: import br.com.gfp.internationalization.BasicWizardMessages;
059: import br.com.gfp.util.SimpleLog;
060: import br.com.gfp.wizard.BasicWizard;
061: import br.com.gfpshare.beans.DBComboBox;
062:
063: public class CSVImportWizard extends BasicWizard {
064: private PrescriptedCSVImport scriptedCSVImport = null;
065:
066: private JFileChooser chooser = null;
067:
068: /**
069: * The file that user have selected to import
070: */
071: private String selectedFile = null;
072:
073: public CSVImportWizard(Frame owner) {
074: super (owner);
075: setSize(400, 300);
076: chooser = new JFileChooser();
077: chooser.setDialogTitle(BasicWizardMessages.getMessages()
078: .getString("tituloAbrirCSVDialog"));
079: chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
080: }
081:
082: @Override
083: protected void adicionarPaineis() {
084: addSelectFilePanel();
085: addConfigurationPanel();
086: addFileConfigurationPanel();
087: }
088:
089: private void addSelectFilePanel() {
090: JPanel painelWelcome = new JPanel();
091: painelWelcome.setLayout(new GridBagLayout());
092: painelWelcome.setSize(421, 242);
093:
094: JTextArea jtaTitulo = new JTextArea();
095: jtaTitulo.setText(BasicWizardMessages.getMessages().getString(
096: "CSVSelectAFile"));
097: jtaTitulo.setFont(new java.awt.Font("Times New Roman",
098: java.awt.Font.BOLD | java.awt.Font.ITALIC, 18));
099: jtaTitulo.setEditable(false);
100: jtaTitulo.setOpaque(false);
101: jtaTitulo.setWrapStyleWord(true);
102: GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
103: gridBagConstraints1.gridx = 0;
104: gridBagConstraints1.gridy = 0;
105: gridBagConstraints1.insets = new java.awt.Insets(00, 0, 20, 0);
106: gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
107: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
108: painelWelcome.add(jtaTitulo, gridBagConstraints1);
109:
110: final JButton selectFileButton = new JButton(
111: BasicWizardMessages.getMessages().getString(
112: "selectAFile"));
113: selectFileButton.addActionListener(new ActionListener() {
114: public void actionPerformed(ActionEvent e) {
115: chooser.updateUI();
116: if (chooser.showOpenDialog((JFrame) GFPController
117: .getGFPController().getContexto().get(
118: GFPController.FRAME_PRINCIPAL)) == JFileChooser.APPROVE_OPTION) {
119: selectedFile = chooser.getSelectedFile()
120: .getAbsolutePath();
121: }
122: }
123: });
124: gridBagConstraints1 = new GridBagConstraints();
125: gridBagConstraints1.gridx = 0;
126: gridBagConstraints1.gridy = 1;
127: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
128: gridBagConstraints1.anchor = java.awt.GridBagConstraints.CENTER;
129: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
130: painelWelcome.add(selectFileButton, gridBagConstraints1);
131:
132: getPrescriptedCSVImport().setImportFromFile(true);
133: final JCheckBox noUseFile = new JCheckBox(BasicWizardMessages
134: .getMessages().getString("importFromClipBoard"));
135: noUseFile.addActionListener(new ActionListener() {
136: public void actionPerformed(ActionEvent e) {
137: getPrescriptedCSVImport().setImportFromFile(
138: noUseFile.isSelected());
139: selectFileButton.setEnabled(!noUseFile.isSelected());
140: }
141: });
142: gridBagConstraints1 = new GridBagConstraints();
143: gridBagConstraints1.gridx = 0;
144: gridBagConstraints1.gridy = 2;
145: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
146: gridBagConstraints1.anchor = java.awt.GridBagConstraints.CENTER;
147: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
148: painelWelcome.add(noUseFile, gridBagConstraints1);
149:
150: addPage(painelWelcome);
151: }
152:
153: private void addConfigurationPanel() {
154: JPanel painelWelcome = new JPanel();
155: painelWelcome.setLayout(new GridBagLayout());
156: painelWelcome.setSize(421, 242);
157:
158: JTextArea jtaTitulo = new JTextArea();
159: jtaTitulo.setText(BasicWizardMessages.getMessages().getString(
160: "ConfigureImporting"));
161: jtaTitulo.setFont(new java.awt.Font("Times New Roman",
162: java.awt.Font.BOLD | java.awt.Font.ITALIC, 18));
163: jtaTitulo.setEditable(false);
164: jtaTitulo.setOpaque(false);
165: jtaTitulo.setWrapStyleWord(true);
166: GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
167: gridBagConstraints1.gridx = 0;
168: gridBagConstraints1.gridy = 0;
169: gridBagConstraints1.gridwidth = 3;
170: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
171: gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
172: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
173: painelWelcome.add(jtaTitulo, gridBagConstraints1);
174:
175: final DBComboBox jcbAccount = new DBComboBox();
176: jcbAccount.addActionListener(new ActionListener() {
177: public void actionPerformed(ActionEvent e) {
178: Account account = (Account) jcbAccount
179: .getSelectedItem();
180: getPrescriptedCSVImport().setAccount(
181: account == null ? -1 : account.getId());
182: }
183: });
184: gridBagConstraints1 = new GridBagConstraints();
185: gridBagConstraints1.gridx = 1;
186: gridBagConstraints1.gridy = 1;
187: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
188: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
189: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
190: painelWelcome.add(jcbAccount, gridBagConstraints1);
191:
192: final DBComboBox accType = new DBComboBox(new AccountType());
193: accType.addActionListener(new ActionListener() {
194: public void actionPerformed(ActionEvent e) {
195: if (e.getSource() == accType) {
196: try {
197: jcbAccount.setSelectedItem(null);
198: getPrescriptedCSVImport().setAccount(null);
199: } catch (IllegalArgumentException iae) {
200: ((SimpleLog) GFPController.getGFPController()
201: .getContexto().get(GFPController.LOG))
202: .log("Erro ao limpar campo conta!");
203: ((SimpleLog) GFPController.getGFPController()
204: .getContexto().get(GFPController.LOG))
205: .log(iae.getLocalizedMessage());
206: ((SimpleLog) GFPController.getGFPController()
207: .getContexto().get(GFPController.LOG))
208: .log(iae);
209: }
210:
211: if (accType.getSelectedItem() == null) {
212: jcbAccount.setDataType(null);
213: } else if (((AccountType) accType.getSelectedItem())
214: .getNome().toString().equalsIgnoreCase(
215: "contaCorrente")) {
216: jcbAccount.setDataType(new CheckingAccount());
217: } else if (((AccountType) accType.getSelectedItem())
218: .getNome().toString().equalsIgnoreCase(
219: "aplicacao")) {
220: jcbAccount.setDataType(new AccountSaving());
221: } else if (((AccountType) accType.getSelectedItem())
222: .getNome().toString().equalsIgnoreCase(
223: "cartaoCredito")) {
224: jcbAccount.setDataType(new CreditCard());
225: }
226: AccountType type = (AccountType) accType
227: .getSelectedItem();
228: getPrescriptedCSVImport().setAccountType(
229: type == null ? -1 : type.getId());
230: }
231: }
232: });
233: gridBagConstraints1 = new GridBagConstraints();
234: gridBagConstraints1.gridx = 0;
235: gridBagConstraints1.gridy = 1;
236: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
237: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
238: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
239: painelWelcome.add(accType, gridBagConstraints1);
240:
241: JLabel jlName = new JLabel(BasicWizardMessages.getMessages()
242: .getString("csvScriptName"));
243: gridBagConstraints1 = new GridBagConstraints();
244: gridBagConstraints1.gridx = 0;
245: gridBagConstraints1.gridy = 2;
246: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
247: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
248: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
249: painelWelcome.add(jlName, gridBagConstraints1);
250:
251: final JTextField txtName = new JTextField();
252: txtName.addFocusListener(new FocusAdapter() {
253: @Override
254: public void focusLost(FocusEvent e) {
255: if (txtName.getText() == null
256: || txtName.getText().equals("")) {
257: JOptionPane.showMessageDialog(CSVImportWizard.this
258: .getParent(), BasicWizardMessages
259: .getMessages().getString("mustTypeName"));
260: txtName.requestFocus();
261: return;
262: }
263: getPrescriptedCSVImport().setName(txtName.getText());
264: }
265: });
266: gridBagConstraints1 = new GridBagConstraints();
267: gridBagConstraints1.gridx = 1;
268: gridBagConstraints1.gridy = 2;
269: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
270: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
271: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
272: painelWelcome.add(txtName, gridBagConstraints1);
273:
274: JLabel jlDescription = new JLabel(BasicWizardMessages
275: .getMessages().getString("csvScriptDesc"));
276: gridBagConstraints1 = new GridBagConstraints();
277: gridBagConstraints1.gridx = 0;
278: gridBagConstraints1.gridy = 3;
279: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
280: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
281: gridBagConstraints1.fill = java.awt.GridBagConstraints.NONE;
282: painelWelcome.add(jlDescription, gridBagConstraints1);
283:
284: final JTextArea txtDescription = new JTextArea();
285: txtDescription.setWrapStyleWord(true);
286: txtName.addFocusListener(new FocusAdapter() {
287: @Override
288: public void focusLost(FocusEvent e) {
289: if (txtDescription.getText() == null
290: || txtDescription.getText().length() > 55) {
291: JOptionPane.showMessageDialog(CSVImportWizard.this
292: .getParent(), BasicWizardMessages
293: .getMessages().getString(
294: "mustTypeDescription"));
295: txtDescription.requestFocus();
296: return;
297: }
298: getPrescriptedCSVImport().setDescription(
299: txtDescription.getText());
300: }
301: });
302: gridBagConstraints1 = new GridBagConstraints();
303: gridBagConstraints1.gridx = 1;
304: gridBagConstraints1.gridy = 3;
305: gridBagConstraints1.gridwidth = 2;
306: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
307: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
308: gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
309: painelWelcome.add(txtDescription, gridBagConstraints1);
310:
311: addPage(painelWelcome);
312: }
313:
314: private void addFileConfigurationPanel() {
315: JPanel painelWelcome = new JPanel();
316: painelWelcome.setLayout(new GridBagLayout());
317: painelWelcome.setSize(421, 242);
318:
319: JTextArea jtaTitulo = new JTextArea();
320: jtaTitulo.setText(BasicWizardMessages.getMessages().getString(
321: "ConfigureImporting2"));
322: jtaTitulo.setFont(new java.awt.Font("Times New Roman",
323: java.awt.Font.BOLD | java.awt.Font.ITALIC, 18));
324: jtaTitulo.setEditable(false);
325: jtaTitulo.setOpaque(false);
326: jtaTitulo.setWrapStyleWord(true);
327: GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
328: gridBagConstraints1.gridx = 0;
329: gridBagConstraints1.gridy = 0;
330: gridBagConstraints1.gridwidth = 2;
331: gridBagConstraints1.insets = new java.awt.Insets(00, 0, 20, 0);
332: gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
333: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
334: painelWelcome.add(jtaTitulo, gridBagConstraints1);
335:
336: JLabel jlFootersToIgnore = new JLabel(BasicWizardMessages
337: .getMessages().getString("FootersToIgnore"));
338: gridBagConstraints1 = new GridBagConstraints();
339: gridBagConstraints1.gridx = 0;
340: gridBagConstraints1.gridy = 1;
341: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
342: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
343: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
344: painelWelcome.add(jlFootersToIgnore, gridBagConstraints1);
345:
346: final JSpinner jsFootersToIgnore = new JSpinner(
347: new SpinnerNumberModel(0, 0, 1000, 1));
348: jsFootersToIgnore.addChangeListener(new ChangeListener() {
349: public void stateChanged(ChangeEvent e) {
350: getPrescriptedCSVImport().setFootersToIgnore(
351: (Integer) jsFootersToIgnore.getValue());
352: }
353: });
354: gridBagConstraints1 = new GridBagConstraints();
355: gridBagConstraints1.gridx = 1;
356: gridBagConstraints1.gridy = 1;
357: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
358: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
359: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
360: painelWelcome.add(jsFootersToIgnore, gridBagConstraints1);
361:
362: JLabel jlHeadersToIgnore = new JLabel(BasicWizardMessages
363: .getMessages().getString("HeadersToIgnore"));
364: gridBagConstraints1 = new GridBagConstraints();
365: gridBagConstraints1.gridx = 0;
366: gridBagConstraints1.gridy = 2;
367: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
368: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
369: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
370: painelWelcome.add(jlHeadersToIgnore, gridBagConstraints1);
371:
372: final JSpinner jsHeadersToIgnore = new JSpinner(
373: new SpinnerNumberModel(0, 0, 1000, 1));
374: jsFootersToIgnore.addChangeListener(new ChangeListener() {
375: public void stateChanged(ChangeEvent e) {
376: getPrescriptedCSVImport().setHeadersToIgnore(
377: (Integer) jsFootersToIgnore.getValue());
378: }
379: });
380: gridBagConstraints1 = new GridBagConstraints();
381: gridBagConstraints1.gridx = 1;
382: gridBagConstraints1.gridy = 2;
383: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
384: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
385: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
386: painelWelcome.add(jsHeadersToIgnore, gridBagConstraints1);
387:
388: JLabel jlTransactionAmountColumn = new JLabel(
389: BasicWizardMessages.getMessages().getString(
390: "TransactionAmountColumn"));
391: gridBagConstraints1 = new GridBagConstraints();
392: gridBagConstraints1.gridx = 0;
393: gridBagConstraints1.gridy = 3;
394: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
395: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
396: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
397: painelWelcome.add(jlTransactionAmountColumn,
398: gridBagConstraints1);
399:
400: final JSpinner jsTransactionAmountColumn = new JSpinner(
401: new SpinnerNumberModel(1, 1, 100, 1));
402: jsFootersToIgnore.addChangeListener(new ChangeListener() {
403: public void stateChanged(ChangeEvent e) {
404: getPrescriptedCSVImport().setTransactionAmountColumn(
405: (Integer) jsTransactionAmountColumn.getValue());
406: }
407: });
408: gridBagConstraints1 = new GridBagConstraints();
409: gridBagConstraints1.gridx = 1;
410: gridBagConstraints1.gridy = 3;
411: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
412: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
413: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
414: painelWelcome.add(jsTransactionAmountColumn,
415: gridBagConstraints1);
416:
417: JLabel jlTransactionDateColumn = new JLabel(BasicWizardMessages
418: .getMessages().getString("TransactionDateColumn"));
419: gridBagConstraints1 = new GridBagConstraints();
420: gridBagConstraints1.gridx = 0;
421: gridBagConstraints1.gridy = 4;
422: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
423: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
424: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
425: painelWelcome.add(jlTransactionDateColumn, gridBagConstraints1);
426:
427: final JSpinner jsTransactionDateColumn = new JSpinner(
428: new SpinnerNumberModel(1, 1, 100, 1));
429: jsFootersToIgnore.addChangeListener(new ChangeListener() {
430: public void stateChanged(ChangeEvent e) {
431: getPrescriptedCSVImport().setTransactionDateColumn(
432: (Integer) jsTransactionDateColumn.getValue());
433: }
434: });
435: gridBagConstraints1 = new GridBagConstraints();
436: gridBagConstraints1.gridx = 1;
437: gridBagConstraints1.gridy = 4;
438: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
439: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
440: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
441: painelWelcome.add(jsTransactionDateColumn, gridBagConstraints1);
442:
443: JLabel jlTransactionDescriptionColumn = new JLabel(
444: BasicWizardMessages.getMessages().getString(
445: "TransactionDescriptionColumn"));
446: gridBagConstraints1 = new GridBagConstraints();
447: gridBagConstraints1.gridx = 0;
448: gridBagConstraints1.gridy = 5;
449: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
450: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
451: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
452: painelWelcome.add(jlTransactionDescriptionColumn,
453: gridBagConstraints1);
454:
455: final JSpinner jsTransactionDescriptionColumn = new JSpinner(
456: new SpinnerNumberModel(1, 1, 100, 1));
457: jsFootersToIgnore.addChangeListener(new ChangeListener() {
458: public void stateChanged(ChangeEvent e) {
459: getPrescriptedCSVImport()
460: .setTransactionDescriptionColumn(
461: (Integer) jsTransactionDescriptionColumn
462: .getValue());
463: }
464: });
465: gridBagConstraints1 = new GridBagConstraints();
466: gridBagConstraints1.gridx = 1;
467: gridBagConstraints1.gridy = 5;
468: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
469: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
470: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
471: painelWelcome.add(jsTransactionDescriptionColumn,
472: gridBagConstraints1);
473:
474: JLabel jlSeparator = new JLabel(BasicWizardMessages
475: .getMessages().getString("Separator"));
476: gridBagConstraints1 = new GridBagConstraints();
477: gridBagConstraints1.gridx = 0;
478: gridBagConstraints1.gridy = 6;
479: gridBagConstraints1.insets = new java.awt.Insets(5, 5, 5, 5);
480: gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
481: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
482: painelWelcome.add(jlSeparator, gridBagConstraints1);
483:
484: final JFormattedTextField jftfSeparator = new JFormattedTextField();
485: MaskFormatter mask = null;
486: try {
487: mask = new MaskFormatter("*");
488: } catch (ParseException e1) {
489: ((SimpleLog) GFPController.getGFPController().getContexto()
490: .get(GFPController.LOG))
491: .log("Erro on creat mask for wizard!");
492: ((SimpleLog) GFPController.getGFPController().getContexto()
493: .get(GFPController.LOG)).log(e1
494: .getLocalizedMessage());
495: ((SimpleLog) GFPController.getGFPController().getContexto()
496: .get(GFPController.LOG)).log(e1);
497: }
498: jftfSeparator.setFormatterFactory(new DefaultFormatterFactory(
499: mask));
500: jftfSeparator.addFocusListener(new FocusAdapter() {
501: @Override
502: public void focusLost(FocusEvent e) {
503: if (jftfSeparator.getValue() == null
504: || jftfSeparator.getText().length() < 1) {
505: JOptionPane.showMessageDialog(CSVImportWizard.this
506: .getParent(), BasicWizardMessages
507: .getMessages().getString("mustTypeName"));
508: jftfSeparator.requestFocus();
509: return;
510: }
511: getPrescriptedCSVImport().setSeparator(
512: jftfSeparator.getValue().toString().charAt(0));
513: }
514: });
515:
516: addPage(painelWelcome);
517: }
518:
519: @Override
520: protected void executeStep(int passo) {
521: System.out.println("Passo " + passo);
522: }
523:
524: @Override
525: protected void migrar() {
526: System.out.println("Migrar");
527: }
528:
529: @Override
530: protected boolean precisaDeWizard() {
531: return true;
532: }
533:
534: public PrescriptedCSVImport getConfiguration() {
535: return scriptedCSVImport;
536: }
537:
538: @Override
539: protected void adicionaPainelWelcome() {
540: JPanel painelWelcome = new JPanel();
541: painelWelcome.setLayout(new GridBagLayout());
542: painelWelcome.setSize(421, 242);
543:
544: JTextArea jtaTitulo = new JTextArea();
545: jtaTitulo.setText(BasicWizardMessages.getMessages().getString(
546: "CSVWelcomeTitle"));
547: jtaTitulo.setFont(new java.awt.Font("Times New Roman",
548: java.awt.Font.BOLD | java.awt.Font.ITALIC, 18));
549: jtaTitulo.setEditable(false);
550: jtaTitulo.setOpaque(false);
551: jtaTitulo.setWrapStyleWord(true);
552: GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
553: gridBagConstraints1.gridx = 0;
554: gridBagConstraints1.gridy = 0;
555: gridBagConstraints1.insets = new java.awt.Insets(00, 0, 20, 0);
556: gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
557: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
558: painelWelcome.add(jtaTitulo, gridBagConstraints1);
559:
560: JTextArea jtaIntro = new JTextArea();
561: jtaIntro.setText(BasicWizardMessages.getMessages().getString(
562: "CSVIntro"));
563: jtaIntro.setEditable(false);
564: jtaIntro.setOpaque(false);
565: jtaIntro.setWrapStyleWord(true);
566: GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
567: gridBagConstraints2.gridx = 0;
568: gridBagConstraints2.gridy = 1;
569: gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST;
570: painelWelcome.add(jtaIntro, gridBagConstraints2);
571:
572: JTextArea jtaFinal = new JTextArea();
573: jtaFinal.setText(BasicWizardMessages.getMessages().getString(
574: "CSVfinal"));
575: jtaFinal.setEditable(false);
576: jtaFinal.setOpaque(false);
577: jtaFinal.setWrapStyleWord(true);
578: GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
579: gridBagConstraints4.gridx = 0;
580: gridBagConstraints4.gridy = 3;
581: gridBagConstraints4.anchor = java.awt.GridBagConstraints.WEST;
582: painelWelcome.add(jtaFinal, gridBagConstraints4);
583:
584: addPage(painelWelcome);
585: }
586:
587: @Override
588: protected void adicionaPainelFim() {
589: JPanel painelWelcome = new JPanel();
590: painelWelcome.setLayout(new GridBagLayout());
591: painelWelcome.setSize(421, 242);
592:
593: JTextArea jtaTitulo = new JTextArea();
594: jtaTitulo.setText(BasicWizardMessages.getMessages().getString(
595: "CSVEndTitle"));
596: jtaTitulo.setFont(new java.awt.Font("Times New Roman",
597: java.awt.Font.BOLD | java.awt.Font.ITALIC, 18));
598: jtaTitulo.setEditable(false);
599: jtaTitulo.setOpaque(false);
600: jtaTitulo.setWrapStyleWord(true);
601: GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
602: gridBagConstraints1.gridx = 0;
603: gridBagConstraints1.gridy = 0;
604: gridBagConstraints1.insets = new java.awt.Insets(00, 0, 30, 0);
605: gridBagConstraints1.anchor = java.awt.GridBagConstraints.NORTH;
606: gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
607: painelWelcome.add(jtaTitulo, gridBagConstraints1);
608:
609: JTextArea jtaIntro = new JTextArea();
610: jtaIntro.setText(BasicWizardMessages.getMessages().getString(
611: "CSVEndText"));
612: jtaIntro.setEditable(false);
613: jtaIntro.setOpaque(false);
614: jtaIntro.setWrapStyleWord(true);
615: GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
616: gridBagConstraints2.gridx = 0;
617: gridBagConstraints2.gridy = 1;
618: gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST;
619: painelWelcome.add(jtaIntro, gridBagConstraints2);
620:
621: addPage(painelWelcome);
622: }
623:
624: private PrescriptedCSVImport getPrescriptedCSVImport() {
625: if (scriptedCSVImport == null) {
626: scriptedCSVImport = new PrescriptedCSVImport();
627: }
628: return scriptedCSVImport;
629: }
630: }
|