大二时做的Java课程设计,拿了个优秀,用了icon来模拟做了个简单的连连看,代码量不多,仅供参考。
课设要求是实现连连看最基本的功能,所以这里写了个简单的初始界面和经典模式的一个界面。
初始界面
代码如下:
public class PictureMatching {
JButton classical = new JButton("经典模式");
JButton about = new JButton("关于游戏");
JButton exit= new JButton("退出游戏");
JFrame menus = new JFrame("连连看");
public PictureMatching(){
menus.setLayout(new FlowLayout(FlowLayout.CENTER,40,40));//布局
JLabel label = new JLabel("连连看");
//设置字体
Font font = new Font("黑体",Font.PLAIN,26);
label.setFont(font);
classical.setFont(font);
about.setFont(font);
exit.setFont(font);
//组件放入容器中
menus.add(label);
menus.add(classical);
menus.add(about);
menus.add(exit);
Buttonlistener listener = new Buttonlistener();
classical.addActionListener(listener);
about.addActionListener(listener);
exit.addActionListener(listener);
menus.setSize(300, 450);
menus.setLocationRelativeTo(null);
menus.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menus.setVisible(true);
}
public class Buttonlistener implements ActionListener{//初始界面的监听器
@Override
public void actionPerformed(ActionEvent e) {
if((JButton)e.getSource() == classical){
new Classical();
}
else if ((JButton)e.getSource() == about) {
new About();
}
else if((JButton)e.getSource() == exit)
System.exit(0);
}
}
//主函数
public static void main(String args[]){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch (Exception e) {}
new PictureMatching();
}
}
“关于游戏"界面可以写一些信息,这里不多赘述。
经典模式的界面如下:
代码如下:
class Classical extends JFrame implements ActionListener{
Piture piture[][]=new Piture[12][12];
Check check;JLabel label,time,score,rule,prop,win,lose;
Time timer;
CardLayout card = new CardLayout();
JPanel panel = new JPanel(card);
JPanel addpanel1 = new JPanel();//按钮面板
JPanel addpanel2 = new JPanel();//暂停面板
JPanel addpanel3 = new JPanel();//win面板
JPanel addpanel4 = new JPanel();//lose面板
private int s = 0;//分数
private int best = 0; //最高分
JButton tip,reform,exit,stop,restart;
int t = 3,r = 1;//提示次数,重置次数
Path path = Paths.get("D://课程设计//最高分.txt");
public Classical(){
setTitle("经典模式");
setLayout(null);
label = new JLabel("经典模式");
Font font = new Font("黑体", Font.PLAIN, 40);
label.setFont(font);
tip = new JButton("提示X3");
reform = new JButton("重置X1");
exit = new JButton("返回");
stop = new JButton("暂停");
restart = new JButton("重新开始");
time = new JLabel();
Font song = new Font("宋体", Font.PLAIN,