Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/cybertivity/powerjournal/NewJournalView.java


1   package com.cybertivity.powerjournal;
2   import java.awt.BorderLayout;
3   import java.awt.BorderLayout;
4   import java.awt.Color;
5   import java.awt.FlowLayout;
6   import java.awt.Insets;
7   import java.awt.event.ActionEvent;
8   import java.awt.event.ActionListener;
9   import java.awt.event.KeyEvent;
10  import java.awt.event.WindowAdapter;
11  import java.awt.event.WindowEvent;
12  import java.util.ArrayList;
13  import javax.swing.BorderFactory;
14  import javax.swing.BoxLayout;
15  import javax.swing.JButton;
16  import javax.swing.JLabel;
17  import javax.swing.JFrame;
18  import javax.swing.JPanel;
19  import javax.swing.JPasswordField;
20  import javax.swing.JTextField;
21  import com.cybertivity.powerjournal.framework.DialogView;
22  import com.cybertivity.powerjournal.framework.Dialogs;
23  import com.cybertivity.powerjournal.framework.ModelEvent;
24  import com.cybertivity.powerjournal.gridpanel.*;
25  
26  /**
27   * Title:        PowerJournal
28   * Description:  $Id: NewJournalView.java,v 1.2 2001/12/04 02:35:15 arrowood Exp $
29   * Copyright:    Copyright (c) 2001
30   * Company:      <A HREF="http://www.cybertivity.com">Cybertivity</A>
31   *
32   * @author <A HREF="mailto:chris.arrowood@cybertivity.com">Chris Arrowood</A>
33   * @created November 30, 2001
34   * @version 1.0
35   */
36  
37  public class NewJournalView extends DialogView {
38  
39    /**
40     */
41    public final static String EVENT_CANCEL = "NewJournalView_Cancel";
42    /**
43     */
44    public final static String EVENT_OK = "NewJournalView_Ok";
45    private static NewJournalView instance = null;
46    private JButton okButton = null;
47    private JButton cancelButton = null;
48    private JTextField journalNameTextField = null;
49    private JPasswordField journalPasswordTextField1 = null;
50    private JPasswordField journalPasswordTextField2 = null;
51  
52  
53    private NewJournalView(JFrame parent) {
54      super(parent,true);
55      createWindow();
56      content.setTitle("Create New Journal");
57      content.setResizable(false);
58      content.addWindowListener(new DeadlyWindowListener());
59      content.pack();
60      moveToCenter();
61    }
62  
63  
64    public static NewJournalView getInstance(JFrame parent) {
65      if (instance == null) {
66        instance = new NewJournalView(parent);
67      }
68      return instance;
69    }
70  
71  
72    protected void cleanUp() { }
73  
74  
75    protected void handleModelEvent(ModelEvent event) { }
76  
77  
78    private void createWindow() {
79      content.getContentPane().add(createJournalPanel());
80    }
81  
82  
83    private JPanel createJournalPanel() {
84      JPanel panel = null;
85      try {
86        JPanel buttonPanel = createButtonPanel();
87        Insets insets = new Insets(2, 10, 0, 2);
88        GridPanelColumn leftColumn = createMainPanelLeftColumn();
89        GridPanelColumn rightColumn = createMainPanelRightColumn();
90        ArrayList columns = new ArrayList();
91        columns.add(0, leftColumn);
92        columns.add(1, rightColumn);
93        panel = GridPanelBuilder.createGridPanel(insets, columns, buttonPanel, BorderLayout.SOUTH);
94      } catch (GridPanelException ex) {
95        panel = new JPanel();
96      }
97      return panel;
98    }
99  
100 
101   private GridPanelColumn createMainPanelLeftColumn() {
102     GridPanelColumn column = new GridPanelColumn();
103     column.add(new JLabel("Journal Name:"), false, false);
104     column.add(new JLabel("Journal Password:"), false, false);
105     column.add(new JLabel("Confirm Password:"), false, false);
106     return column;
107   }
108 
109 
110   private GridPanelColumn createMainPanelRightColumn() {
111     GridPanelColumn column = new GridPanelColumn();
112     journalNameTextField = new JTextField("My Journal", 20);
113     journalPasswordTextField1 = new JPasswordField(10);
114     journalPasswordTextField2 = new JPasswordField(10);
115     column.add(journalNameTextField, false, false);
116     column.add(journalPasswordTextField1, false, false);
117     column.add(journalPasswordTextField2, false, false);
118     return column;
119   }
120 
121 
122   private JPanel createButtonPanel() {
123     JPanel buttonPanel = new JPanel();
124     FlowLayout layout = new FlowLayout();
125     buttonPanel.setLayout(layout);
126     okButton = makeButton("OK", EVENT_OK, null);
127     cancelButton = makeButton("Cancel", EVENT_CANCEL, null);
128     buttonPanel.add(okButton);
129     buttonPanel.add(cancelButton);
130     return buttonPanel;
131   }
132 
133 
134   private class DeadlyWindowListener extends WindowAdapter {
135     public void windowClosing(WindowEvent evt) {
136       fireEvent(EVENT_CANCEL);
137     }
138   }
139 
140 
141   private JButton makeButton(String name, final String action, Color color) {
142     JButton btn = new JButton();
143     btn.setText(name);
144     if (color != null) {
145       btn.setForeground(color);
146     }
147 
148     btn.addActionListener(
149       new java.awt.event.ActionListener() {
150         public void actionPerformed(ActionEvent e) {
151           fireEvent(action);
152         }
153       });
154     return btn;
155   }
156 
157 
158   public String getJournalNameText() {
159     return journalNameTextField.getText();
160   }
161 
162 
163   public String getJournalPasswordText() {
164     return journalPasswordTextField1.getText();
165   }
166 
167 
168   public String getJournalPasswordConfirmText() {
169     return journalPasswordTextField2.getText();
170   }
171 
172 
173   public void setVisible(boolean arg) {
174     if (arg) {
175       journalPasswordTextField1.setText("");
176       journalPasswordTextField2.setText("");
177     }
178     super.setVisible(arg);
179   }
180 
181 }