?? mainframe.java
字號:
package eluosi;
import java.awt.event.*;
import javax.swing.*;
public class MainFrame extends JFrame
implements KeyListener
{
JMenuBar menu;
JMenu menu1;
JMenuItem menuitem1;
JMenuItem menuitem2;
JMenuItem menuitem3;
JMenuItem menuitem4;
public MyThread th;
public int i;
public MainFrame()
{
super("俄羅斯方塊");
menu = new JMenuBar();
menu1 = new JMenu("游戲");
menuitem1 = new JMenuItem("開始");
menuitem2 = new JMenuItem("暫停");
menuitem3 = new JMenuItem("結束");
menuitem4 = new JMenuItem("退出");
i = 0;
Pane panel = new Pane();
setSize(400, 580);
setResizable(false);
menu1.add(menuitem1);
menu1.add(menuitem2);
menu1.add(menuitem3);
menu1.add(menuitem4);
menu.add(menu1);
setJMenuBar(menu);
menuitem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
th = new MyThread();
th.start();
}
}
);
menuitem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
i++;
if(i >= 2)
i = 0;
if(i == 1){
MyThread.start = false;
menuitem2.setText("繼續");
}
if(i == 0){
MyThread.start = true;
menuitem2.setText("暫停");
}
}
}
);
menuitem3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
MyThread.start1 = false;
MyThread.isDead = true;
MyThread.SetCruObjZero();
}
}
);
menuitem4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
);
addKeyListener(this);
setContentPane(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void keyTyped(KeyEvent keyevent)
{
}
public void keyPressed(KeyEvent ke)
{
switch(ke.getKeyCode())
{
default:
break;
case 38:
if(!MyThread.start)
{
MyThread.Level++;
if(MyThread.Level > 14)
MyThread.Level = 0;
MyThread.main.repaint();
} else
{
MyThread.Filp();
}
break;
case 37:
if(!MyThread.start)
{
MyThread.Speed--;
if(MyThread.Speed < 0)
MyThread.Speed = 8;
MyThread.main.repaint();
} else
{
MyThread.Move(-1);
}
break;
case 39:
if(!MyThread.start)
{
MyThread.Speed++;
if(MyThread.Speed > 8)
MyThread.Speed = 0;
MyThread.main.repaint();
} else
{
MyThread.Move(1);
}
break;
case 40:
if(!MyThread.start)
{
MyThread.Level--;
if(MyThread.Level < 0)
MyThread.Level = 14;
MyThread.main.repaint();
} else
{
MyThread.fall();
}
break;
}
}
public void keyReleased(KeyEvent ke)
{
if(ke.getKeyCode() == 40)
MyThread.fall = false;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -