samples/componentinjection/anagram-plain/src/org/apidesign/anagram/ui/Anagrams.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:06:43 +0200
changeset 214 ce0b8f24327f
parent 213 de35ca154c1d
permissions -rw-r--r--
Not using deprecated method
     1 package org.apidesign.anagram.ui;
     2 
     3 import org.apidesign.anagram.lib.WordLibrary;
     4 
     5 /**
     6  *
     7  * @author  Dirk Ruiz
     8  */
     9 public class Anagrams extends javax.swing.JFrame {
    10     
    11     /** Creates new form Anagrams */
    12     public Anagrams() {
    13         initComponents();        
    14         scrambledWord.setText(wl.getScrambledWord(wordIdx));
    15         getRootPane().setDefaultButton(guessButton);
    16     }
    17     WordLibrary wl = new WordLibrary();
    18     int wordIdx = 0;
    19     
    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.
    24      */
    25     private void initComponents() {//GEN-BEGIN:initComponents
    26         java.awt.GridBagConstraints gridBagConstraints;
    27 
    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();
    40 
    41         setTitle("Anagrams");
    42         addWindowListener(new java.awt.event.WindowAdapter() {
    43             public void windowClosing(java.awt.event.WindowEvent evt) {
    44                 exitForm(evt);
    45             }
    46         });
    47 
    48         mainPanel.setLayout(new java.awt.GridBagLayout());
    49 
    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);
    59 
    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);
    68 
    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);
    78 
    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);
    85             }
    86         });
    87 
    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);
    94 
    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);
   102 
   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);
   111 
   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);
   118             }
   119         });
   120 
   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);
   126 
   127         getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
   128 
   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);
   135             }
   136         });
   137 
   138         File.add(jMenuItem1);
   139 
   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);
   145             }
   146         });
   147 
   148         File.add(jMenuItem2);
   149 
   150         mainMenu.add(File);
   151 
   152         setJMenuBar(mainMenu);
   153 
   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
   157 
   158     private void nextTrialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextTrialActionPerformed
   159         wordIdx = (wordIdx + 1) % wl.getSize();
   160         
   161         feedbackLabel.setText(" ");
   162         scrambledWord.setText(wl.getScrambledWord(wordIdx));
   163         guessedWord.setText("");
   164         getRootPane().setDefaultButton(guessButton);        
   165         
   166         guessedWord.requestFocus();
   167     }//GEN-LAST:event_nextTrialActionPerformed
   168 
   169     private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
   170         System.exit(0);
   171     }//GEN-LAST:event_jMenuItem2ActionPerformed
   172 
   173     private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
   174         new About().show();
   175     }//GEN-LAST:event_jMenuItem1ActionPerformed
   176         
   177     private void guessedWordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessedWordActionPerformed
   178         
   179         if(wl.isCorrect(wordIdx, guessedWord.getText())){
   180             feedbackLabel.setText("Correct! Try a new word!");
   181             getRootPane().setDefaultButton(nextTrial);
   182         } else {
   183             feedbackLabel.setText("Incorrect! Try again!");
   184             guessedWord.setText("");
   185         }
   186         
   187         guessedWord.requestFocus();
   188     }//GEN-LAST:event_guessedWordActionPerformed
   189     
   190     /** Exit the Application */
   191     private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
   192         System.exit(0);
   193     }//GEN-LAST:event_exitForm
   194 
   195     @Override
   196     public void setVisible(boolean v) {
   197         super.setVisible(v);
   198         if (v) {
   199             guessedWord.requestFocus();
   200         }
   201     }
   202     
   203     /**
   204      * @param args the command line arguments
   205      */
   206     public static void main(String args[]) {
   207         new Anagrams().setVisible(true);
   208     }
   209     
   210     
   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
   225     
   226 }