Java学习-126.2048代码
本篇帖的是按钮的代码。
因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码。
//本类是Game_2048类的内部类,用来实现上、下、左、右四个按钮,以及重新开始和退出游戏六个按钮的动作。
class btAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JButton btn = (JButton) (e.getSource());
if (btn == up) {
uprule();
}
if (btn == down) {
downrule();
}
if (btn == left) {
leftrule();
}
if (btn ==right) {
rightrule();
}
if(btn==cancel){
System.exit(0);
}
if(btn==start){
again();
}
}
}
//本类是Game_2048类的内部类,用来实现菜单项的方法。
class menuAct implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("游戏规则"))
System.out.println("yew");//本分支本应是介绍游戏规则的一个类,但我因为懒,并没有写,所以作意写了一个输出语句在这里。
else if(e.getActionCommand().equals("关于我"))
new Aboutme();
else if(e.getActionCommand().equals("开始游戏"))
again();
}
}
//本类是一个独立的类,因为代码比较少,也简单,就帖在这个位置了,各位读者若要实现此游戏,请务必注意。
import java.awt.*;
import javax.swing.*;
public class Aboutme extends JFrame{
public Aboutme(){
super("关于我");
JTextArea t=new JTextArea();
String s="这是张熹熹做的第一个游戏,2048\n版权所有!\n谢谢支持!\n如有需要,请给我留言,谢谢!\n我会回复您,只是可能有点慢!";
t.setText(s);
t.setEditable(false);
t.setAlignmentX(CENTER_ALIGNMENT);
this.setSize(250,130);
this.setLocationRelativeTo(this);
this.setVisible(true);
this.getContentPane().add(t);
}
}