samples/componentinjection/anagram-plain/src/org/apidesign/anagram/ui/Anagrams.java
1 package org.apidesign.anagram.ui;
3 import org.apidesign.anagram.lib.WordLibrary;
9 public class Anagrams extends javax.swing.JFrame {
11 /** Creates new form Anagrams */
14 scrambledWord.setText(wl.getScrambledWord(wordIdx));
15 getRootPane().setDefaultButton(guessButton);
17 WordLibrary wl = new WordLibrary();
20 /** This method is called from within the constructor to
21 * initialize the form.
22 * WARNING: Do NOT modify this code. The content of this method is
23 * always regenerated by the Form Editor.
25 private void initComponents() {//GEN-BEGIN:initComponents
26 java.awt.GridBagConstraints gridBagConstraints;
28 mainPanel = new javax.swing.JPanel();
29 scrambledLabel = new javax.swing.JLabel();
30 guessLabel = new javax.swing.JLabel();
31 feedbackLabel = new javax.swing.JLabel();
32 guessButton = new javax.swing.JButton();
33 scrambledWord = new javax.swing.JTextField();
34 guessedWord = new javax.swing.JTextField();
35 nextTrial = new javax.swing.JButton();
36 mainMenu = new javax.swing.JMenuBar();
37 File = new javax.swing.JMenu();
38 jMenuItem1 = new javax.swing.JMenuItem();
39 jMenuItem2 = new javax.swing.JMenuItem();
42 addWindowListener(new java.awt.event.WindowAdapter() {
43 public void windowClosing(java.awt.event.WindowEvent evt) {
48 mainPanel.setLayout(new java.awt.GridBagLayout());
50 mainPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(11, 11, 12, 12)));
51 mainPanel.setMinimumSize(new java.awt.Dimension(297, 200));
52 mainPanel.setPreferredSize(new java.awt.Dimension(297, 200));
53 scrambledLabel.setText("Scrambled Word:");
54 gridBagConstraints = new java.awt.GridBagConstraints();
55 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
56 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
57 gridBagConstraints.insets = new java.awt.Insets(12, 12, 12, 6);
58 mainPanel.add(scrambledLabel, gridBagConstraints);
60 guessLabel.setText("Your Guess:");
61 gridBagConstraints = new java.awt.GridBagConstraints();
62 gridBagConstraints.gridx = 0;
63 gridBagConstraints.gridy = 1;
64 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
65 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
66 gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 6);
67 mainPanel.add(guessLabel, gridBagConstraints);
69 feedbackLabel.setText(" ");
70 gridBagConstraints = new java.awt.GridBagConstraints();
71 gridBagConstraints.gridx = 1;
72 gridBagConstraints.gridy = 2;
73 gridBagConstraints.gridwidth = 2;
74 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
75 gridBagConstraints.weightx = 1.0;
76 gridBagConstraints.insets = new java.awt.Insets(0, 0, 6, 6);
77 mainPanel.add(feedbackLabel, gridBagConstraints);
79 guessButton.setMnemonic('G');
80 guessButton.setText("Guess");
81 guessButton.setToolTipText("Guess the scrambled word.");
82 guessButton.addActionListener(new java.awt.event.ActionListener() {
83 public void actionPerformed(java.awt.event.ActionEvent evt) {
84 guessedWordActionPerformed(evt);
88 gridBagConstraints = new java.awt.GridBagConstraints();
89 gridBagConstraints.gridx = 2;
90 gridBagConstraints.gridy = 3;
91 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
92 gridBagConstraints.insets = new java.awt.Insets(0, 0, 11, 6);
93 mainPanel.add(guessButton, gridBagConstraints);
95 scrambledWord.setEditable(false);
96 gridBagConstraints = new java.awt.GridBagConstraints();
97 gridBagConstraints.gridwidth = 3;
98 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
99 gridBagConstraints.weightx = 1.0;
100 gridBagConstraints.insets = new java.awt.Insets(12, 0, 12, 11);
101 mainPanel.add(scrambledWord, gridBagConstraints);
103 gridBagConstraints = new java.awt.GridBagConstraints();
104 gridBagConstraints.gridx = 1;
105 gridBagConstraints.gridy = 1;
106 gridBagConstraints.gridwidth = 3;
107 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
108 gridBagConstraints.weightx = 1.0;
109 gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 11);
110 mainPanel.add(guessedWord, gridBagConstraints);
112 nextTrial.setMnemonic('N');
113 nextTrial.setText("New Word");
114 nextTrial.setToolTipText("Fetch a new word.");
115 nextTrial.addActionListener(new java.awt.event.ActionListener() {
116 public void actionPerformed(java.awt.event.ActionEvent evt) {
117 nextTrialActionPerformed(evt);
121 gridBagConstraints = new java.awt.GridBagConstraints();
122 gridBagConstraints.gridx = 3;
123 gridBagConstraints.gridy = 3;
124 gridBagConstraints.insets = new java.awt.Insets(0, 0, 11, 11);
125 mainPanel.add(nextTrial, gridBagConstraints);
127 getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
129 File.setText("File");
130 jMenuItem1.setText("About");
131 jMenuItem1.setToolTipText("About");
132 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
133 public void actionPerformed(java.awt.event.ActionEvent evt) {
134 jMenuItem1ActionPerformed(evt);
138 File.add(jMenuItem1);
140 jMenuItem2.setText("Exit");
141 jMenuItem2.setToolTipText("Quit Team, Quit!");
142 jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
143 public void actionPerformed(java.awt.event.ActionEvent evt) {
144 jMenuItem2ActionPerformed(evt);
148 File.add(jMenuItem2);
152 setJMenuBar(mainMenu);
154 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
155 setBounds((screenSize.width-400)/2, (screenSize.height-250)/2, 400, 250);
156 }//GEN-END:initComponents
158 private void nextTrialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextTrialActionPerformed
159 wordIdx = (wordIdx + 1) % wl.getSize();
161 feedbackLabel.setText(" ");
162 scrambledWord.setText(wl.getScrambledWord(wordIdx));
163 guessedWord.setText("");
164 getRootPane().setDefaultButton(guessButton);
166 guessedWord.requestFocus();
167 }//GEN-LAST:event_nextTrialActionPerformed
169 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
171 }//GEN-LAST:event_jMenuItem2ActionPerformed
173 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
175 }//GEN-LAST:event_jMenuItem1ActionPerformed
177 private void guessedWordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessedWordActionPerformed
179 if(wl.isCorrect(wordIdx, guessedWord.getText())){
180 feedbackLabel.setText("Correct! Try a new word!");
181 getRootPane().setDefaultButton(nextTrial);
183 feedbackLabel.setText("Incorrect! Try again!");
184 guessedWord.setText("");
187 guessedWord.requestFocus();
188 }//GEN-LAST:event_guessedWordActionPerformed
190 /** Exit the Application */
191 private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
193 }//GEN-LAST:event_exitForm
196 public void setVisible(boolean v) {
199 guessedWord.requestFocus();
204 * @param args the command line arguments
206 public static void main(String args[]) {
207 new Anagrams().setVisible(true);
211 // Variables declaration - do not modify//GEN-BEGIN:variables
212 private javax.swing.JMenu File;
213 private javax.swing.JLabel feedbackLabel;
214 private javax.swing.JButton guessButton;
215 private javax.swing.JLabel guessLabel;
216 private javax.swing.JTextField guessedWord;
217 private javax.swing.JMenuItem jMenuItem1;
218 private javax.swing.JMenuItem jMenuItem2;
219 private javax.swing.JMenuBar mainMenu;
220 private javax.swing.JPanel mainPanel;
221 private javax.swing.JButton nextTrial;
222 private javax.swing.JLabel scrambledLabel;
223 private javax.swing.JTextField scrambledWord;
224 // End of variables declaration//GEN-END:variables