~ubuntu-branches/ubuntu/quantal/netbeans/quantal

« back to all changes in this revision

Viewing changes to ant/freeform/samples/templates/anagram/src/com/toy/anagrams/ui/Anagrams.java

  • Committer: Bazaar Package Importer
  • Author(s): Marek Slama
  • Date: 2008-01-29 14:11:22 UTC
  • Revision ID: james.westby@ubuntu.com-20080129141122-fnzjbo11ntghxfu7
Tags: upstream-6.0.1
ImportĀ upstreamĀ versionĀ 6.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Anagram Game Application */
 
2
 
 
3
package com.toy.anagrams.ui;
 
4
 
 
5
import com.toy.anagrams.lib.WordLibrary;
 
6
import java.awt.Dimension;
 
7
import java.awt.Point;
 
8
import java.awt.Toolkit;
 
9
import java.awt.event.ActionListener;
 
10
import java.awt.event.WindowListener;
 
11
import javax.swing.JFrame;
 
12
 
 
13
/**
 
14
 * Main window of the Anagram Game application.
 
15
 */
 
16
public class Anagrams extends JFrame {
 
17
 
 
18
    public static void main(String[] args) {
 
19
        new Anagrams().setVisible(true);
 
20
    }
 
21
 
 
22
    private int wordIdx = 0;
 
23
 
 
24
    /** Creates new form Anagrams */
 
25
    public Anagrams() {
 
26
        initComponents();
 
27
        getRootPane().setDefaultButton(guessButton);
 
28
        scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
 
29
        pack();
 
30
        guessedWord.requestFocusInWindow();
 
31
        // Center in the screen
 
32
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
 
33
        Dimension frameSize = getSize();
 
34
        setLocation(new Point((screenSize.width - frameSize.width) / 2,
 
35
                              (screenSize.height - frameSize.width) / 2));
 
36
    }
 
37
 
 
38
    /** This method is called from within the constructor to
 
39
     * initialize the form.
 
40
     * WARNING: Do NOT modify this code. The content of this method is
 
41
     * always regenerated by the Form Editor.
 
42
     */
 
43
    private void initComponents() {//GEN-BEGIN:initComponents
 
44
        java.awt.GridBagConstraints gridBagConstraints;
 
45
 
 
46
        mainPanel = new javax.swing.JPanel();
 
47
        scrambledLabel = new javax.swing.JLabel();
 
48
        scrambledWord = new javax.swing.JTextField();
 
49
        guessLabel = new javax.swing.JLabel();
 
50
        guessedWord = new javax.swing.JTextField();
 
51
        feedbackLabel = new javax.swing.JLabel();
 
52
        buttonsPanel = new javax.swing.JPanel();
 
53
        guessButton = new javax.swing.JButton();
 
54
        nextTrial = new javax.swing.JButton();
 
55
        mainMenu = new javax.swing.JMenuBar();
 
56
        fileMenu = new javax.swing.JMenu();
 
57
        aboutMenuItem = new javax.swing.JMenuItem();
 
58
        exitMenuItem = new javax.swing.JMenuItem();
 
59
 
 
60
        setTitle("Anagrams");
 
61
        addWindowListener(new java.awt.event.WindowAdapter() {
 
62
            public void windowClosing(java.awt.event.WindowEvent evt) {
 
63
                exitForm(evt);
 
64
            }
 
65
        });
 
66
 
 
67
        mainPanel.setLayout(new java.awt.GridBagLayout());
 
68
 
 
69
        mainPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(12, 12, 12, 12)));
 
70
        mainPanel.setMinimumSize(new java.awt.Dimension(297, 200));
 
71
        scrambledLabel.setText("Scrambled Word:");
 
72
        gridBagConstraints = new java.awt.GridBagConstraints();
 
73
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
74
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
 
75
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 6);
 
76
        mainPanel.add(scrambledLabel, gridBagConstraints);
 
77
 
 
78
        scrambledWord.setColumns(20);
 
79
        scrambledWord.setEditable(false);
 
80
        gridBagConstraints = new java.awt.GridBagConstraints();
 
81
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
 
82
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
83
        gridBagConstraints.weightx = 1.0;
 
84
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0);
 
85
        mainPanel.add(scrambledWord, gridBagConstraints);
 
86
 
 
87
        guessLabel.setDisplayedMnemonic('Y');
 
88
        guessLabel.setLabelFor(guessedWord);
 
89
        guessLabel.setText("Your Guess:");
 
90
        gridBagConstraints = new java.awt.GridBagConstraints();
 
91
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
92
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
 
93
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 6);
 
94
        mainPanel.add(guessLabel, gridBagConstraints);
 
95
 
 
96
        guessedWord.setColumns(20);
 
97
        gridBagConstraints = new java.awt.GridBagConstraints();
 
98
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
 
99
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
100
        gridBagConstraints.weightx = 1.0;
 
101
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 0);
 
102
        mainPanel.add(guessedWord, gridBagConstraints);
 
103
 
 
104
        feedbackLabel.setText(" ");
 
105
        gridBagConstraints = new java.awt.GridBagConstraints();
 
106
        gridBagConstraints.gridx = 1;
 
107
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
 
108
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
 
109
        gridBagConstraints.weightx = 1.0;
 
110
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 0);
 
111
        mainPanel.add(feedbackLabel, gridBagConstraints);
 
112
 
 
113
        buttonsPanel.setLayout(new java.awt.GridBagLayout());
 
114
 
 
115
        guessButton.setMnemonic('G');
 
116
        guessButton.setText("Guess");
 
117
        guessButton.setToolTipText("Guess the scrambled word.");
 
118
        guessButton.addActionListener(new java.awt.event.ActionListener() {
 
119
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
120
                guessedWordActionPerformed(evt);
 
121
            }
 
122
        });
 
123
 
 
124
        gridBagConstraints = new java.awt.GridBagConstraints();
 
125
        gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
 
126
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
 
127
        gridBagConstraints.weightx = 1.0;
 
128
        gridBagConstraints.weighty = 1.0;
 
129
        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6);
 
130
        buttonsPanel.add(guessButton, gridBagConstraints);
 
131
 
 
132
        nextTrial.setMnemonic('N');
 
133
        nextTrial.setText("New Word");
 
134
        nextTrial.setToolTipText("Fetch a new word.");
 
135
        nextTrial.addActionListener(new java.awt.event.ActionListener() {
 
136
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
137
                nextTrialActionPerformed(evt);
 
138
            }
 
139
        });
 
140
 
 
141
        gridBagConstraints = new java.awt.GridBagConstraints();
 
142
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
 
143
        gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
 
144
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
 
145
        gridBagConstraints.weighty = 1.0;
 
146
        buttonsPanel.add(nextTrial, gridBagConstraints);
 
147
 
 
148
        gridBagConstraints = new java.awt.GridBagConstraints();
 
149
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
 
150
        gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
 
151
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
 
152
        gridBagConstraints.weighty = 1.0;
 
153
        mainPanel.add(buttonsPanel, gridBagConstraints);
 
154
 
 
155
        getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
 
156
 
 
157
        fileMenu.setMnemonic('F');
 
158
        fileMenu.setText("File");
 
159
        aboutMenuItem.setMnemonic('A');
 
160
        aboutMenuItem.setText("About");
 
161
        aboutMenuItem.setToolTipText("About");
 
162
        aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
 
163
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
164
                aboutMenuItemActionPerformed(evt);
 
165
            }
 
166
        });
 
167
 
 
168
        fileMenu.add(aboutMenuItem);
 
169
 
 
170
        exitMenuItem.setMnemonic('E');
 
171
        exitMenuItem.setText("Exit");
 
172
        exitMenuItem.setToolTipText("Quit Team, Quit!");
 
173
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
 
174
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
175
                exitMenuItemActionPerformed(evt);
 
176
            }
 
177
        });
 
178
 
 
179
        fileMenu.add(exitMenuItem);
 
180
 
 
181
        mainMenu.add(fileMenu);
 
182
 
 
183
        setJMenuBar(mainMenu);
 
184
 
 
185
    }//GEN-END:initComponents
 
186
 
 
187
    private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_aboutMenuItemActionPerformed
 
188
        new About(this).setVisible(true);
 
189
    }//GEN-LAST:event_aboutMenuItemActionPerformed
 
190
 
 
191
    private void nextTrialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextTrialActionPerformed
 
192
        wordIdx = (wordIdx + 1) % WordLibrary.getSize();
 
193
 
 
194
        feedbackLabel.setText(" ");
 
195
        scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
 
196
        guessedWord.setText("");
 
197
        getRootPane().setDefaultButton(guessButton);
 
198
 
 
199
        guessedWord.requestFocusInWindow();
 
200
    }//GEN-LAST:event_nextTrialActionPerformed
 
201
 
 
202
    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
 
203
        System.exit(0);
 
204
    }//GEN-LAST:event_exitMenuItemActionPerformed
 
205
 
 
206
    private void guessedWordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessedWordActionPerformed
 
207
        if (WordLibrary.isCorrect(wordIdx, guessedWord.getText())){
 
208
            feedbackLabel.setText("Correct! Try a new word!");
 
209
            getRootPane().setDefaultButton(nextTrial);
 
210
        } else {
 
211
            feedbackLabel.setText("Incorrect! Try again!");
 
212
            guessedWord.setText("");
 
213
        }
 
214
 
 
215
        guessedWord.requestFocusInWindow();
 
216
    }//GEN-LAST:event_guessedWordActionPerformed
 
217
 
 
218
    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
 
219
        System.exit(0);
 
220
    }//GEN-LAST:event_exitForm
 
221
 
 
222
    // Variables declaration - do not modify//GEN-BEGIN:variables
 
223
    private javax.swing.JMenuItem aboutMenuItem;
 
224
    private javax.swing.JPanel buttonsPanel;
 
225
    private javax.swing.JMenuItem exitMenuItem;
 
226
    private javax.swing.JLabel feedbackLabel;
 
227
    private javax.swing.JMenu fileMenu;
 
228
    private javax.swing.JButton guessButton;
 
229
    private javax.swing.JLabel guessLabel;
 
230
    private javax.swing.JTextField guessedWord;
 
231
    private javax.swing.JMenuBar mainMenu;
 
232
    private javax.swing.JPanel mainPanel;
 
233
    private javax.swing.JButton nextTrial;
 
234
    private javax.swing.JLabel scrambledLabel;
 
235
    private javax.swing.JTextField scrambledWord;
 
236
    // End of variables declaration//GEN-END:variables
 
237
 
 
238
}