连连看小游戏_java

先写GUI。

首先初始化框架,菜单,按钮,需要把菜单和按钮都添加在框架中。注意添加的顺序,首先要设置菜单,再设置框架,再设置按钮,如果交换了设置菜单和框架的顺序,会导致菜单显示不出,被框架挡住。对菜单设置了三个选项,第一个选项有五个下拉按键,用循环添加,第二个和第三个选项的下拉按键直接添加。

GUI代码如下:

package gui;

import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class MyFrame extends JFrame{
	JMenuBar menuBar=new JMenuBar();
	JMenu j1 = new JMenu();
	JMenu j2 = new JMenu();
	JMenu j3 = new JMenu();
	JButton button=new JButton();
	public MyFrame() {
		initFrame();
	}
	public void initFrame() {
		j1.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j1.setText("请选择关卡(L)");//设置菜单
		j1.setMnemonic('L');
		j2.setText("请选择玩法模型(M)");//设置菜单
		j2.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j2.setMnemonic('M');
		j3.setText("请选择图片(P)");//设置菜单
		j3.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j3.setMnemonic('P');
		//第一个下拉表
		for(int i=1;i<6;i++) {
			JMenuItem item=new JMenuItem();
			String str="";
			switch (i) {
			case 1:
				str="无变化";
				break;
			case 2:
				str="向下串";
				break;
			case 3:
				str="向上串";
				break;
			case 4:
				str="向左串";
				break;
			case 5:
				str="向右串";
				break;
			}
			item.setText("第"+i+"关:"+str);
			item.setFont(new Font("微软雅黑",Font.PLAIN,12));
			j1.add(item);
		}
		//第二个下拉表
		JMenuItem d=new JMenuItem();
		d.setText("默认模型");
		d.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j2.add(d);
		JMenuItem o=new JMenuItem();
		o.setText("一折模型");
		o.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j2.add(o);
		//第三个下拉表
		JMenuItem de=new JMenuItem();
		de.setText("默认图片");
		de.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j3.add(de);
		JMenuItem i=new JMenuItem();
		i.setText("图标图片");
		i.setFont(new Font("微软雅黑",Font.PLAIN,12));
		j3.add(i);
		menuBar.add(j1);
		menuBar.add(j2);
		menuBar.add(j3);
		//按钮
		button.setText("新游戏");
		button.setFont(new Font("微软雅黑",Font.PLAIN,12));
		button.setBounds(5, 5, 400, 20);
		this.setJMenuBar(menuBar);
		this.setTitle("连连看GUI");//设置标题
		this.setSize(430, 585);//框的大小
		this.setVisible(true);//true表示显示窗口,可见
		this.getContentPane().setLayout(null);//布局管理器清空,取消默认设置
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭
		this.add(button);	
	}
	public static void main(String[] args) {
		new MyFrame();
	}
}

GUI界面如下:

界面只做好了菜单部分,还有游戏的主要部分未完成。

未完待续

猜你喜欢

转载自blog.csdn.net/Chen_Swan/article/details/82931997