我想编写一个类似金山打字游戏的程序,一个单词落下来,通过键盘输入拼写该单词,若拼写正确,该单词消失。界面已经完成一些,如上面代码所示,但是困扰着我的是我不知道该如何判断用键盘输入的单词和下落的单词一致,并让它消失。特别是但有多个单词下落的时候,请各位大侠赐教,万分感谢!import javax.swing.*;
import java.awt.*;
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MainGui mainGui=new MainGui(); }}class MyPanel extends JPanel implements Runnable
{
int x=180;
int y=10;
int speed=5;
long time=100;
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.YELLOW);
g.drawString("helloJava", x, y+=speed);
}
public MyPanel()
{
this.setBackground(Color.BLACK);
Thread td=new Thread(this);
td.start();
}
public void run() { while (true)
{ repaint();
try
{
Thread.sleep(time);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}}
/*
* 程序的主界面
*/
class MainGui extends JFrame
{
//定义需要的组件
JMenuBar jmb;
JMenu jm1;
JMenu jm2;
JMenuItem jmi1;
JMenuItem jmi2;
JMenuItem jmi3;
MyPanel mp=new MyPanel();
public MainGui()
{
//初始化各个组件
jmb=new JMenuBar();
jm1=new JMenu("游戏");
jm2=new JMenu("帮助");
jmi1=new JMenuItem("开始游戏");
jmi2=new JMenuItem("退出游戏");
jmi3=new JMenuItem("游戏说明");
//添加相关的组件
jm1.add(jmi1);
jm1.add(jmi2);
jm2.add(jmi3);
jmb.add(jm1);
jmb.add(jm2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.add(jmb,BorderLayout.NORTH);
this.add(mp);
this.setVisible(true);
}
}
import java.awt.*;
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MainGui mainGui=new MainGui(); }}class MyPanel extends JPanel implements Runnable
{
int x=180;
int y=10;
int speed=5;
long time=100;
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.YELLOW);
g.drawString("helloJava", x, y+=speed);
}
public MyPanel()
{
this.setBackground(Color.BLACK);
Thread td=new Thread(this);
td.start();
}
public void run() { while (true)
{ repaint();
try
{
Thread.sleep(time);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}}
/*
* 程序的主界面
*/
class MainGui extends JFrame
{
//定义需要的组件
JMenuBar jmb;
JMenu jm1;
JMenu jm2;
JMenuItem jmi1;
JMenuItem jmi2;
JMenuItem jmi3;
MyPanel mp=new MyPanel();
public MainGui()
{
//初始化各个组件
jmb=new JMenuBar();
jm1=new JMenu("游戏");
jm2=new JMenu("帮助");
jmi1=new JMenuItem("开始游戏");
jmi2=new JMenuItem("退出游戏");
jmi3=new JMenuItem("游戏说明");
//添加相关的组件
jm1.add(jmi1);
jm1.add(jmi2);
jm2.add(jmi3);
jmb.add(jm1);
jmb.add(jm2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.add(jmb,BorderLayout.NORTH);
this.add(mp);
this.setVisible(true);
}
}
解决方案 »
- 请问在propreties文件中,读取日文字符时出现乱码?怎么解决呢?
- Java面试试题,你能做对几个?
- 为什么我的JCheckBox显示不正常
- 字符串到表达式的转换,谁懂?
- 一道SCJP试题的疑问?
- 数据库,取值赋给变量,how?? 高分!!
- 求救:用了JMenu后,菜单条拉到其他组件后面去了
- 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
- 解释一下beans和session
- 下载的源码导入eclipse后出错:****refers to the missing type Elist
- java I/O问题
- java一道题目,求大牛指导try的return和finally
{
//初始化各个组件
jmb=new JMenuBar();
jm1=new JMenu("游戏");
jm2=new JMenu("帮助");
jmi1=new JMenuItem("开始游戏");
jmi2=new JMenuItem("退出游戏");
jmi3=new JMenuItem("游戏说明");
//添加相关的组件
jm1.add(jmi1);
jm1.add(jmi2);
jm2.add(jmi3);
jmb.add(jm1);
jmb.add(jm2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.add(jmb,BorderLayout.NORTH);
this.add(mp);
this.setVisible(true);
}
}