進口?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();
}