samples/componentinjection/anagram-plain/src/org/apidesign/anagram/ui/Anagrams.java
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/componentinjection/anagram-plain/src/org/apidesign/anagram/ui/Anagrams.java Sat Jun 14 10:06:39 2008 +0200
1.3 @@ -0,0 +1,226 @@
1.4 +package org.apidesign.anagram.ui;
1.5 +
1.6 +import org.apidesign.anagram.lib.WordLibrary;
1.7 +
1.8 +/**
1.9 + *
1.10 + * @author Dirk Ruiz
1.11 + */
1.12 +public class Anagrams extends javax.swing.JFrame {
1.13 +
1.14 + /** Creates new form Anagrams */
1.15 + public Anagrams() {
1.16 + initComponents();
1.17 + scrambledWord.setText(wl.getScrambledWord(wordIdx));
1.18 + getRootPane().setDefaultButton(guessButton);
1.19 + }
1.20 + WordLibrary wl = new WordLibrary();
1.21 + int wordIdx = 0;
1.22 +
1.23 + /** This method is called from within the constructor to
1.24 + * initialize the form.
1.25 + * WARNING: Do NOT modify this code. The content of this method is
1.26 + * always regenerated by the Form Editor.
1.27 + */
1.28 + private void initComponents() {//GEN-BEGIN:initComponents
1.29 + java.awt.GridBagConstraints gridBagConstraints;
1.30 +
1.31 + mainPanel = new javax.swing.JPanel();
1.32 + scrambledLabel = new javax.swing.JLabel();
1.33 + guessLabel = new javax.swing.JLabel();
1.34 + feedbackLabel = new javax.swing.JLabel();
1.35 + guessButton = new javax.swing.JButton();
1.36 + scrambledWord = new javax.swing.JTextField();
1.37 + guessedWord = new javax.swing.JTextField();
1.38 + nextTrial = new javax.swing.JButton();
1.39 + mainMenu = new javax.swing.JMenuBar();
1.40 + File = new javax.swing.JMenu();
1.41 + jMenuItem1 = new javax.swing.JMenuItem();
1.42 + jMenuItem2 = new javax.swing.JMenuItem();
1.43 +
1.44 + setTitle("Anagrams");
1.45 + addWindowListener(new java.awt.event.WindowAdapter() {
1.46 + public void windowClosing(java.awt.event.WindowEvent evt) {
1.47 + exitForm(evt);
1.48 + }
1.49 + });
1.50 +
1.51 + mainPanel.setLayout(new java.awt.GridBagLayout());
1.52 +
1.53 + mainPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(11, 11, 12, 12)));
1.54 + mainPanel.setMinimumSize(new java.awt.Dimension(297, 200));
1.55 + mainPanel.setPreferredSize(new java.awt.Dimension(297, 200));
1.56 + scrambledLabel.setText("Scrambled Word:");
1.57 + gridBagConstraints = new java.awt.GridBagConstraints();
1.58 + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1.59 + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1.60 + gridBagConstraints.insets = new java.awt.Insets(12, 12, 12, 6);
1.61 + mainPanel.add(scrambledLabel, gridBagConstraints);
1.62 +
1.63 + guessLabel.setText("Your Guess:");
1.64 + gridBagConstraints = new java.awt.GridBagConstraints();
1.65 + gridBagConstraints.gridx = 0;
1.66 + gridBagConstraints.gridy = 1;
1.67 + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1.68 + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
1.69 + gridBagConstraints.insets = new java.awt.Insets(0, 12, 12, 6);
1.70 + mainPanel.add(guessLabel, gridBagConstraints);
1.71 +
1.72 + feedbackLabel.setText(" ");
1.73 + gridBagConstraints = new java.awt.GridBagConstraints();
1.74 + gridBagConstraints.gridx = 1;
1.75 + gridBagConstraints.gridy = 2;
1.76 + gridBagConstraints.gridwidth = 2;
1.77 + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1.78 + gridBagConstraints.weightx = 1.0;
1.79 + gridBagConstraints.insets = new java.awt.Insets(0, 0, 6, 6);
1.80 + mainPanel.add(feedbackLabel, gridBagConstraints);
1.81 +
1.82 + guessButton.setMnemonic('G');
1.83 + guessButton.setText("Guess");
1.84 + guessButton.setToolTipText("Guess the scrambled word.");
1.85 + guessButton.addActionListener(new java.awt.event.ActionListener() {
1.86 + public void actionPerformed(java.awt.event.ActionEvent evt) {
1.87 + guessedWordActionPerformed(evt);
1.88 + }
1.89 + });
1.90 +
1.91 + gridBagConstraints = new java.awt.GridBagConstraints();
1.92 + gridBagConstraints.gridx = 2;
1.93 + gridBagConstraints.gridy = 3;
1.94 + gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
1.95 + gridBagConstraints.insets = new java.awt.Insets(0, 0, 11, 6);
1.96 + mainPanel.add(guessButton, gridBagConstraints);
1.97 +
1.98 + scrambledWord.setEditable(false);
1.99 + gridBagConstraints = new java.awt.GridBagConstraints();
1.100 + gridBagConstraints.gridwidth = 3;
1.101 + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1.102 + gridBagConstraints.weightx = 1.0;
1.103 + gridBagConstraints.insets = new java.awt.Insets(12, 0, 12, 11);
1.104 + mainPanel.add(scrambledWord, gridBagConstraints);
1.105 +
1.106 + gridBagConstraints = new java.awt.GridBagConstraints();
1.107 + gridBagConstraints.gridx = 1;
1.108 + gridBagConstraints.gridy = 1;
1.109 + gridBagConstraints.gridwidth = 3;
1.110 + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1.111 + gridBagConstraints.weightx = 1.0;
1.112 + gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 11);
1.113 + mainPanel.add(guessedWord, gridBagConstraints);
1.114 +
1.115 + nextTrial.setMnemonic('N');
1.116 + nextTrial.setText("New Word");
1.117 + nextTrial.setToolTipText("Fetch a new word.");
1.118 + nextTrial.addActionListener(new java.awt.event.ActionListener() {
1.119 + public void actionPerformed(java.awt.event.ActionEvent evt) {
1.120 + nextTrialActionPerformed(evt);
1.121 + }
1.122 + });
1.123 +
1.124 + gridBagConstraints = new java.awt.GridBagConstraints();
1.125 + gridBagConstraints.gridx = 3;
1.126 + gridBagConstraints.gridy = 3;
1.127 + gridBagConstraints.insets = new java.awt.Insets(0, 0, 11, 11);
1.128 + mainPanel.add(nextTrial, gridBagConstraints);
1.129 +
1.130 + getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
1.131 +
1.132 + File.setText("File");
1.133 + jMenuItem1.setText("About");
1.134 + jMenuItem1.setToolTipText("About");
1.135 + jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
1.136 + public void actionPerformed(java.awt.event.ActionEvent evt) {
1.137 + jMenuItem1ActionPerformed(evt);
1.138 + }
1.139 + });
1.140 +
1.141 + File.add(jMenuItem1);
1.142 +
1.143 + jMenuItem2.setText("Exit");
1.144 + jMenuItem2.setToolTipText("Quit Team, Quit!");
1.145 + jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
1.146 + public void actionPerformed(java.awt.event.ActionEvent evt) {
1.147 + jMenuItem2ActionPerformed(evt);
1.148 + }
1.149 + });
1.150 +
1.151 + File.add(jMenuItem2);
1.152 +
1.153 + mainMenu.add(File);
1.154 +
1.155 + setJMenuBar(mainMenu);
1.156 +
1.157 + java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
1.158 + setBounds((screenSize.width-400)/2, (screenSize.height-250)/2, 400, 250);
1.159 + }//GEN-END:initComponents
1.160 +
1.161 + private void nextTrialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextTrialActionPerformed
1.162 + wordIdx = (wordIdx + 1) % wl.getSize();
1.163 +
1.164 + feedbackLabel.setText(" ");
1.165 + scrambledWord.setText(wl.getScrambledWord(wordIdx));
1.166 + guessedWord.setText("");
1.167 + getRootPane().setDefaultButton(guessButton);
1.168 +
1.169 + guessedWord.requestFocus();
1.170 + }//GEN-LAST:event_nextTrialActionPerformed
1.171 +
1.172 + private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
1.173 + System.exit(0);
1.174 + }//GEN-LAST:event_jMenuItem2ActionPerformed
1.175 +
1.176 + private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
1.177 + new About().show();
1.178 + }//GEN-LAST:event_jMenuItem1ActionPerformed
1.179 +
1.180 + private void guessedWordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessedWordActionPerformed
1.181 +
1.182 + if(wl.isCorrect(wordIdx, guessedWord.getText())){
1.183 + feedbackLabel.setText("Correct! Try a new word!");
1.184 + getRootPane().setDefaultButton(nextTrial);
1.185 + } else {
1.186 + feedbackLabel.setText("Incorrect! Try again!");
1.187 + guessedWord.setText("");
1.188 + }
1.189 +
1.190 + guessedWord.requestFocus();
1.191 + }//GEN-LAST:event_guessedWordActionPerformed
1.192 +
1.193 + /** Exit the Application */
1.194 + private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
1.195 + System.exit(0);
1.196 + }//GEN-LAST:event_exitForm
1.197 +
1.198 + @Override
1.199 + public void setVisible(boolean v) {
1.200 + super.setVisible(v);
1.201 + if (v) {
1.202 + guessedWord.requestFocus();
1.203 + }
1.204 + }
1.205 +
1.206 + /**
1.207 + * @param args the command line arguments
1.208 + */
1.209 + public static void main(String args[]) {
1.210 + new Anagrams().show();
1.211 + }
1.212 +
1.213 +
1.214 + // Variables declaration - do not modify//GEN-BEGIN:variables
1.215 + private javax.swing.JMenu File;
1.216 + private javax.swing.JLabel feedbackLabel;
1.217 + private javax.swing.JButton guessButton;
1.218 + private javax.swing.JLabel guessLabel;
1.219 + private javax.swing.JTextField guessedWord;
1.220 + private javax.swing.JMenuItem jMenuItem1;
1.221 + private javax.swing.JMenuItem jMenuItem2;
1.222 + private javax.swing.JMenuBar mainMenu;
1.223 + private javax.swing.JPanel mainPanel;
1.224 + private javax.swing.JButton nextTrial;
1.225 + private javax.swing.JLabel scrambledLabel;
1.226 + private javax.swing.JTextField scrambledWord;
1.227 + // End of variables declaration//GEN-END:variables
1.228 +
1.229 +}