我想编写一个类似金山打字游戏的程序,一个单词落下来,通过键盘输入拼写该单词,若拼写正确,该单词消失。界面已经完成一些,如上面代码所示,但是困扰着我的是我不知道该如何判断用键盘输入的单词和下落的单词一致,并让它消失。特别是但有多个单词下落的时候,请各位大侠赐教,万分感谢!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);
}
}
解决方案 »
- MouseDragged()MouseMoved()对自定义的控件不起作用,大家帮忙看看!
- 构造函数中try/catch
- 用Java怎么读取电脑上的时间
- 如何关闭一个操作系统的连接?
- 求: mutable&immutable”的理解和使用?
- 这个程序有错,简直不可能
- 100分,马上揭贴!!最基本的问题,请别笑话
- 给高分求助
- mm.mysql-2.0.14-bin.jar应该怎么使用阿??我放到java_home/jre/lib/ext不行,放到tomcat/lib也不行,直接在classpath写出路径也不行??
- 求救:如何将一个字符串中的“"”双引号全部替换为单引号?
- 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);
}
}