求java相对简单的程序设计!应该有笔记。

给你一个打地鼠游戏,自己改变画面路径:

进口?javax . swing . *;

进口?javax . swing . text . position;

进口?javax . swing . text . abstract document . content;

进口?com.briup.gui1。GridLayoutTest

进口?Java . awt . *;

进口?Java . awt . event . *;

公共?班级?鼠标游戏?延伸?JFrame?器物?ActionListener?{

私人?集装箱?contentPane

私人?JComboBox?水平;

私人?JLabel?centLb1,?timelb 1;

私人?JButton?startBtn

//?九歌老鼠洞

私人?JButton[]?btns

//?两个定时器,一个定时器,一个鼠标移动的位置。

私人?定时器?定时器,?职位;

//

私人?ImageIcon?形象;

//

私人?int?指数;

私人?布尔?旗帜;

公共?鼠标播放(){

This.setTitle("重击一只老鼠");

this.setBounds(200,?200,?350,?400);

contentPane?=?this . getcontentpane();

this . setdefaultcloseoperation(this。EXIT _ ON _ CLOSE);

//定时器初始化时,需要指定触发的事件间隔(单位为毫秒),并添加电离监听器。

定时器?=?新的?定时器(1000,?这个);

位置?=?新的?定时器(700,?这个);

//导入图片的路径。

形象?=?新的?image icon(" src/com/briup/gui2/mouse . jpg ");

//图像?=?新的?image icon("/home/briup/mouse . jpg ");

init GUI();

}

publicvoid?initGui()?{

contentPane.setLayout(新?BorderLayout());

JPanel?北?=?新的?JPanel();

水平?=?新的?JComboBox(新?String[]{“易”,?“一般般”,?“硬”});

level.addItemListener(新?ItemListener(){

公共?作废?itemStateChanged(ItemEvent?e)?{

对象?obj?=?e . getitem();

int?时间?=?0;

如果(“容易”。equals(obj)){

时间?=?700;

}别的?如果(“一般般”。equals(obj)){

时间?=?400;

}别的?如果(“硬”。equals(obj)){

时间?=?100;

}

位置?=?新的?定时器(时间,?mouse play . this);

}});

timeLb1?=?新的?JLabel(" 10 ");

centLb1?=?新的?JLabel(" 0 ");

startBtn?=?新的?JButton(" start ");

startbtn . addactionlistener(this);

north.add(级别);

north.add(新?JLabel(" time:"));

north . add(timelb 1);

north.add(新?JLabel(" center:"));

north . add(centlb 1);

north . add(start BTN);

contentPane.add(north,BorderLayout。北);

JPanel?中心?=?新的?JPanel();

center.setLayout(新?GridLayout(3,3));

btns?=?新的?JButton[9];

for(int?I = 0;?我& ltbtns.lengthi++){

btns[i]?=?新的?JButton(" ");

btns[i]。set enabled(false);

btns[i]。addActionListener(this);

center . add(btns[I]);

}

contentPane.add(center,BorderLayout。中心);

}

公共?作废?go(){

this . set visible(true);

}

公共?作废?actionPerformed(ActionEvent?e)?{

对象?obj?=?e . getsource();

if(obj==startBtn){

startbtn . set enabled(false);?//开始按钮不可操作。

level . set editable(false);?//?下拉框不可操作。

for(int?I = 0;?我& ltbtns.length?i++)

btns[i]。setEnabled(真);?//可以操作九个按钮

//启动倒计时器和鼠标。

timer . start();

position . start();

timelb 1 . settext(" 10 ");

centlb 1 . settext(" 0 ");

}

if(obj==timer){?//?先获取页面的值,然后判断是否为0,并处理相应的逻辑。

int?时间?=?integer . parse int(timelb 1 . gettext()。trim());

if(time==0){

timeLb1.setText("游戏?完了!”);

timer . stop();

position . stop();

startbtn . set enabled(true);

level.setEnabled(真);

for(int?I = 0;?我& ltbtns.length?i++){

btns[i]。set enabled(false);

btns[i]。setIcon(null);

btns[i]。setText(" ");

}

}否则{

timelb 1 . settext(-time+" ");

}

}

if(obj = = position){

for(int?I = 0;?我& ltbtns.length?i++)

btns[i]。setIcon(null);

指数?=?(int)(math . random()* 9);

索引。setIcon(图像);

//btns[index]。setText(" ");

旗帜?=?假的;

}

for(int?I = 0;?我& ltbtns.length?i++){

if(btns[I]= = obj & amp;& amp(!旗帜)& amp& ampi==index){

int?美分?=?integer . parse int(centlb 1 . gettext()。trim());

centlb 1 . settext(++cent+" ");

旗帜?=?真实;

}

}

}

公共?静电?作废?main(String[]?args)?{

新的?鼠标游戏()。go();

}