⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7654321.java

📁 JAVA语言开发的``可以进行英语单词拼写的练习,主要是利用一些组件来实验其功能 的
💻 JAVA
字号:
英语单词拼写训练
1.答案:
【代码1】:  addFocusListener(this);
【代码2】:  addMouseListener(this);         
【代码3】:  label[k].addKeyListener(this);                 
【代码4】:  e.getKeyCode()==KeyEvent.VK_LEFT
【代码5】:  e.getKeyCode()==KeyEvent.VK_RIGHT
2.模板代码 
RondomString.java
public class RondomString
{  String str="";
   public String getRondomString(String s)
   { StringBuffer strBuffer=new StringBuffer(s);
     int m=strBuffer.length();
     for(int k=0;k<m;k++)
     {  int index=(int)(Math.random()*strBuffer.length());
        char c=strBuffer.charAt(index);   
        str=str+c; 
        strBuffer=strBuffer.deleteCharAt(index);
     } 
     return str;
   }
}
LetterLabel.java
import java.awt.*;
import java.awt.event.*;
public class LetterLabel extends Button implements FocusListener,MouseListener
{  LetterLabel()
   {   【代码1】 //将当前对象注册为自身的焦点视器
       【代码2】 //将当前对象注册为自身的标监视器
       setBackground(Color.cyan);
       setFont(new Font("",Font.BOLD,30));
   }  
   public static  LetterLabel[] getLetterLabel(int n)
   {  LetterLabel a[]=new LetterLabel[n];
      for(int k=0;k<a.length;k++)
      {  a[k]=new LetterLabel();
      }
      return a;
   }
   public void focusGained(FocusEvent e) 
   {  setBackground(Color.red);
   }
   public void focusLost(FocusEvent e)
   {  setBackground(Color.cyan);
   }
   public void mousePressed(MouseEvent e) 
   {  requestFocus();
   }
   public void setText(char c)
   { setLabel(""+c);
   }
   public void mouseReleased(MouseEvent e){}
   public void mouseEntered(MouseEvent e) {}
   public void mouseExited(MouseEvent e) {}
   public void mouseClicked(MouseEvent e){}
}
SpellingWordFrame.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.Box;
public class SpellingWordFrame extends Frame implements KeyListener,ActionListener
{ TextField inputWord;
  Button button;
  LetterLabel label[];
  Panel northP,centerP;
  Box wordBox;
  String hintMessage="用鼠标单击字母,按左右箭头交换字母,将其排列成所输入的单词";
  Label messaageLabel=new Label(hintMessage);
  String word="";
  SpellingWordFrame()
  { inputWord=new TextField(12);
    button=new Button("确定");
    button.addActionListener(this);
    inputWord.addActionListener(this); 
    northP=new Panel();
    northP.add(new Label("输入一个英文单词:"));
    northP.add(inputWord);
    northP.add(button);
    centerP=new Panel();
    wordBox=Box.createHorizontalBox();
    centerP.add(wordBox);
    add(northP,BorderLayout.NORTH);
    add(centerP,BorderLayout.CENTER);
    add(messaageLabel,BorderLayout.SOUTH);
    setBounds(100,100,350,180);
    setVisible(true);
    validate();
    addWindowListener(new WindowAdapter()
                        { public void windowClosing(WindowEvent e)
                           { System.exit(0);
                           }
                        }
                       );
  }
  public void actionPerformed(ActionEvent e)
  {  word=inputWord.getText();
     int n=word.length();
     RondomString rondom=new RondomString();
     String randomWord=rondom.getRondomString(word);
     wordBox.removeAll();
     messaageLabel.setText(hintMessage);
     if(n>0)
     {  label=LetterLabel.getLetterLabel(n);
        for(int k=0;k<label.length;k++)
        {  【代码3】 //将当前窗口注册为label[k]的键盘监视器
           label[k].setText(""+randomWord.charAt(k));  
           wordBox.add(label[k]);
        } 
       validate(); 
       inputWord.setText(null); 
       label[0].requestFocus();
     }
  }
  public void keyPressed(KeyEvent e) 
  {  LetterLabel sourceLabel=(LetterLabel)e.getSource();
     int index=-1;
     if(【代码4】) //判断按下的是否是←键)
     {  for(int k=0;k<label.length;k++)
        {  if(label[k]==sourceLabel)
           {  index=k;
              break;
           }
        }
        if(index!=0)
        { String temp=label[index].getText();
          label[index].setText(label[index-1].getText());
          label[index-1].setText(temp);
label[index-1].requestFocus();
        }
     } 
     else if(【代码5】) //判断按下的是否是→键
     {  for(int k=0;k<label.length;k++)
        {  if(label[k]==sourceLabel)
           {  index=k;
              break;
           }
        }
        if(index!=label.length-1)
        { String temp=label[index].getText();
          label[index].setText(label[index+1].getText());
          label[index+1].setText(temp);
label[index+1].requestFocus();
        }
     }
validate();
  }
  public void keyTyped(KeyEvent e){}
  public void keyReleased(KeyEvent e)
  {  String success="";
     for(int k=0;k<label.length;k++)
        {  String str=label[k].getText();
           success=success+str;
        }
     if(success.equals(word))
        {  messaageLabel.setText("恭喜你,你成功了");
           for(int k=0;k<label.length;k++)
{ label[k].removeKeyListener(this);
label[k].removeFocusListener(label[k]);
              label[k].setBackground(Color.green);
            } 
           inputWord.requestFocus(); 
        }
  }
}
WordMainClass.java
public class WordMainClass
{   public static void main(String args[])
    {  new SpellingWordFrame();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -