JAVA打字游戏
/282919088/blog/item/953 f 5116836 a 544321a4e 972 . html & amp;nbsp
//改变了你的要求。
进口?Java . applet . applet;
进口?Java . applet . audio clip;
进口?Java . awt . dimension;
进口?Java . awt . font;
进口?Java . awt . toolkit;
进口?javax . swing . jframe;
进口?javax . swing . jpanel;
进口?Java . awt . rectangle;
进口?javax . swing . border factory;
进口?javax . swing . jbutton;
进口?javax . swing . joptionpane;
进口?javax . swing . js lider;
进口?javax . swing . jlabel;
进口?javax . swing . ui manager;
进口?javax . swing . event . change event;
进口?javax . swing . event . change listener;
进口?Java . awt . event . action event;
进口?Java . awt . event . action listener;
进口?Java . awt . event . key adapter;
进口?Java . awt . event . key event;
进口?Java . io . file;
进口?java.util .向量;
公共?班级?打字练习?延伸?JFrame?器物?可运行?{
JPanel?contentPane
JPanel?jPanel1?=?新的?JPanel();
JButton?jButton1?=?新的?JButton();
JButton?jButton2?=?新的?JButton();
int?数数?=?1,?快速性?=?80;?//?数数?当前的号码?快速性?光标位置
int?拉什?=?10;?//?游戏中有多少关?可以补充。自由列?{?10?,20?,30?,40,50}
int?rush_count?=?0;?//?注销
夏尔?列表[]?=?{?一个',?b ',?c ',?d ',?e ',?f ',?g ',?h ',?我',?j ',?k ',?l ',
' m ',?n ',?奥,,?p ',?q ',?r ',?s ',?t ',?u ',?v ',?w ',?x ',?y ',
z ',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9'?};?//?随机数
//?可以自由添加。
字符串?派端?=?“真”;
向量?号码?=?新的?向量();
布尔?foo = true
公共?打字练习()?{
试试?{
setDefaultCloseOperation(EXIT _ ON _ CLOSE);
JB init();
}?接住?(例外?例外)?{
exception . printstacktrace();
}
}?
私人?作废?jbInit()?摔投?例外?{
contentPane?=?(JPanel)?getContentPane();
content pane . set layout(null);
setSize(新?维度(588,?530));
setTitle("框架?标题”);
jpanel 1 . set border(border factory . createetchedborder());
jPanel1.setBounds(新?矩形(4,?4,?573,?419));
jpanel 1 . set layout(null);
jButton1.setBounds(新?矩形(277,?442,?89,?31));
jbutton 1 . settext(" Start ");
jbutton 1 . addactionlistener(新?frame 1 _ jbutton 1 _ action adapter(this));
jButton2.setBounds(新?矩形(408,?442,?89,?31));
jbutton 2 . settext(" end ");
jButton2.addActionListener(新?frame 1 _ jbutton 2 _ action adapter(this));
content pane . add(jpanel 1);
content pane . add(jbutton 2);
content pane . add(jbutton 1);
this.addKeyListener(新?my listener());
jButton1.addKeyListener(新?my listener());
}
公共?作废?run()?{?
while(foo){
试试?{
线程?t?=?新的?线程(新?tthread());
t . start();
数数?+=?1;
Thread.sleep(1000?+?(int)?(Math.random()?*?2000));?//?下一个生产组的暂停时间
//?最快是1。最慢2秒。
}?接住?(中断异常?e)?{
e . printstacktrace();
}?
}?
}
公共?作废?jbutton 1 _ action performed(action event?e)?{
foo = true
线程?t?=?新的?线程(this);
t . start();
}
公共?作废?jbutton 2 _ action performed(action event?e)?{?
派端?=?”弗雷塞”;
foo = false
}
班级?Tthread?器物?可运行?{
公共?作废?run()?{
布尔?fo?=?真实;
int?y?=?0,?x?=?0;
JLabel?秀?=?新的?JLabel();
show.setFont(新?Java.awt.Font ("ì",字体。平平淡淡?33));
jpanel 1 . add(show);
x?=?10?+?(int)?(Math.random()?*?400);
字符串?参数?=?list[(int)?(Math.random()?*?list.length)]?+?"";
豆子?豆子?=?新的?bean();
bean.setParameter(参数);
bean . set show(show);
number . add(bean);
show.setText(参数);
什么时候?(fo)?{
//?-数字向下移动。
show.setBounds(新?矩形(X,y?+=?2,?33,?33));
试试?{
Thread.sleep(快速);
}?接住?(中断异常?e)?{
e . printstacktrace();
}
如果?(Y?& gt=?419)?{
fo?=?假的;
为了什么?(int?我?=?number.size()?-?1;?我?& gt=?0;?我-)?{
豆子?bn?=?((豆)?number . get(I));
如果?(parameter . equalsignorecase(bn . getparameter()))?{?
number . removeelementat(I);
打破;
}
}
}
}
}
}
班级?我的听众?延伸?KeyAdapter?{
公共?作废?按键(按键事件?e)?{
字符串?uu?=?e.getKeyChar()?+?"";
为了什么?(int?我?=?0;?我?& lt?number . size();?i++)?{
豆子?豆子?=?((豆)?number . get(I));
如果?(uu . equalsignorecase(bean . getparameter()))?{?
number . removeelementat(I);
bean.getShow()。set visible(false);
打破;
}
}
}
}
公共?静电?作废?main(String[]?args)?{
试试?{
ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname());
}?接住?(例外?例外)?{
exception . printstacktrace();
}
打字练习?框架?=?新的?打字练习();
维度?屏幕尺寸?=?Toolkit.getDefaultToolkit()。getScreenSize();
维度?框架大小?=?frame . getsize();
如果?(frameSize.height?& gt?screenSize.height)?{
框架尺寸.高度?=?screenSize.height
}
如果?(frameSize.width?& gt?屏幕尺寸.宽度)?{
框架尺寸.宽度?=?screenSize.width
}
frame . set location((screen size . width?-?frameSize.width)?/?2,
(screenSize.height?-?frameSize.height)?/?2);
frame . set visible(true);
}
}
班级?frame 1 _ jbutton 2 _ action adapter?器物?ActionListener?{
私人?打字练习?适应者;
Frame 1 _ jbutton2 _ action适配器(打字练习?adaptee)?{
这个. adaptee?=?适应者;
}
公共?作废?actionPerformed(ActionEvent?e)?{
adaptee . jbutton 2 _ action performed(e);
}
}
班级?frame 1 _ jbutton 1 _ action adapter?器物?ActionListener?{
私人?打字练习?适应者;
frame 1 _ jbutton 1 _ action适配器(打字练习?adaptee)?{
这个. adaptee?=?适应者;
}
公共?作废?actionPerformed(ActionEvent?e)?{
adaptee . jbutton 1 _ action performed(e);
}
}
班级?豆子?{
字符串?参数?=?null
JLabel?秀?=?null
公共?JLabel?getShow()?{
回归?展示;
}
公共?作废?setShow(JLabel?秀)?{
这个节目?=?展示;
}
公共?字符串?getParameter()?{
回归?参数;
}
公共?作废?setParameter(字符串?参数)?{
这个参数?=?参数;
}
}