⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupdialogbuilder.java

📁 QQ连连看游戏源码。完全仿照QQ游戏中的连连看制作的单机版游戏。
💻 JAVA
字号:
package cn.nawang.test;
/*
 * @author:Mandy
 * @date:2007-09-08
 * @this class is used to create the setup dialog on the menuBar
 */
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class SetupDialogBuilder {

	UI FrameUI;
	public SetupDialogBuilder(UI FrameUI) {
		// TODO Auto-generated constructor stub
		this.FrameUI = FrameUI;
	}
	public void initSetupDialog(UI FrameUI,SetupEventHandler setupHandler)
	{
		FrameUI.setupDialog = this.createSetupDialog(FrameUI);
		FrameUI.closeBtn = this.createCloseBtn(FrameUI, "Close", setupHandler);
		FrameUI.musicOn = this.createRadioBtn(FrameUI, "On(Default)", true);
		FrameUI.musicOff = this.createRadioBtn(FrameUI, "Off", false);
		FrameUI.effectOn = this.createRadioBtn(FrameUI, "On(Default)", true);
		FrameUI.effectOff = this.createRadioBtn(FrameUI, "Off", false);
		FrameUI.levelNo1 = this.createRadioBtn(FrameUI, "1", false);
		FrameUI.levelNo2 = this.createRadioBtn(FrameUI, "2", false);
		FrameUI.levelNo3 = this.createRadioBtn(FrameUI, "3(Normal)", true);
		FrameUI.levelNo4 = this.createRadioBtn(FrameUI, "4", false);
		FrameUI.levelNo5 = this.createRadioBtn(FrameUI, "5", false);
		FrameUI.speed1x = this.createRadioBtn(FrameUI, "1x", true);
		FrameUI.speed2x = this.createRadioBtn(FrameUI, "2x(Default)", false);
		FrameUI.speed4x = this.createRadioBtn(FrameUI, "4x", false);
		FrameUI.speed8x = this.createRadioBtn(FrameUI, "8x", false);
		FrameUI.musicLabel = UIBuilder.createLabel(FrameUI, "Music", "Arial", Font.BOLD, 12, Color.BLACK, 0);
		FrameUI.effectLabel = UIBuilder.createLabel(FrameUI, "Effect", "Arial", Font.BOLD, 12, Color.BLACK, 0);
		FrameUI.levelLabel = UIBuilder.createLabel(FrameUI, "Level", "Arial", Font.BOLD, 12, Color.BLACK, 0);
		FrameUI.speedLabel = UIBuilder.createLabel(FrameUI, "AnimatedSpeed", "Arial", Font.BOLD, 12, Color.BLACK, 0);
		layoutSetupDialog(FrameUI);
	}
	public JButton createCloseBtn(UI FrameUI, String btnName, SetupEventHandler handler)
	{
		JButton closeBtn = new JButton(btnName);
		closeBtn.addActionListener(handler);
		return closeBtn;
	}
	public JDialog createSetupDialog(UI FrameUI)
	{
		JDialog setupDialog = new JDialog(FrameUI.mainFrame, "setup");
		setupDialog.setSize(400, 320);
		setupDialog.setVisible(false);
		return setupDialog;
	}
	public JRadioButton createRadioBtn(UI FrameUI, String text, boolean selected)
	{
		JRadioButton radioBtn = new JRadioButton(text);
		radioBtn.setSelected(selected);
		return radioBtn;
	}
	public void layoutSetupDialog(UI FrameUI)
	{
		ButtonGroup music = new ButtonGroup();
		music.add(FrameUI.musicOn);
		music.add(FrameUI.musicOff);
		ButtonGroup effect = new ButtonGroup();
		effect.add(FrameUI.effectOn);
		effect.add(FrameUI.effectOff);
		ButtonGroup levelBtnGrp = new ButtonGroup();
		levelBtnGrp.add(FrameUI.levelNo1);
		levelBtnGrp.add(FrameUI.levelNo2);
		levelBtnGrp.add(FrameUI.levelNo3);
		levelBtnGrp.add(FrameUI.levelNo4);
		levelBtnGrp.add(FrameUI.levelNo5);
		ButtonGroup speed = new ButtonGroup();
		speed.add(FrameUI.speed1x);
		speed.add(FrameUI.speed2x);
		speed.add(FrameUI.speed4x);
		speed.add(FrameUI.speed8x);
		JPanel musicPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));
		musicPane.add(FrameUI.musicLabel);
		musicPane.add(FrameUI.musicOn);
		musicPane.add(FrameUI.musicOff);
		JPanel levelPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));
		levelPane.add(FrameUI.levelLabel);
		levelPane.add(FrameUI.levelNo1);
		levelPane.add(FrameUI.levelNo2);
		levelPane.add(FrameUI.levelNo3);
		levelPane.add(FrameUI.levelNo4);
		levelPane.add(FrameUI.levelNo5);
		JPanel effectPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));
		effectPane.add(FrameUI.effectLabel);
		effectPane.add(FrameUI.effectOn);
		effectPane.add(FrameUI.effectOff);
		JPanel speedPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0));
		speedPane.add(FrameUI.speedLabel);
		speedPane.add(FrameUI.speed1x);
		speedPane.add(FrameUI.speed2x);
		speedPane.add(FrameUI.speed4x);
		speedPane.add(FrameUI.speed8x);
		JPanel closeBtnPane = new JPanel(new FlowLayout(FlowLayout.CENTER));
		closeBtnPane.add(FrameUI.closeBtn);
		JPanel leftPane = new JPanel();
		leftPane.setPreferredSize(new Dimension(30, 10));
		leftPane.setMinimumSize(new Dimension(30, 10));
		leftPane.setBackground(new Color(0xEEEEEE));
		JPanel topPane = new JPanel();
		topPane.setPreferredSize(new Dimension(400, 30));
		topPane.setMinimumSize(new Dimension(400, 30));
		topPane.setBackground(new Color(0xEEEEEE));
		
		JPanel setupItemPane = new JPanel();
		setupItemPane.setLayout(new BoxLayout(setupItemPane, BoxLayout.Y_AXIS));
		setupItemPane.add(musicPane);
		setupItemPane.add(effectPane);
		setupItemPane.add(levelPane);
		setupItemPane.add(speedPane);
		Container setupPane = FrameUI.setupDialog.getContentPane();
		setupPane.setLayout(new BorderLayout());
		setupPane.add(setupItemPane, BorderLayout.CENTER);
		setupPane.add(closeBtnPane, BorderLayout.SOUTH);
		setupPane.add(leftPane, BorderLayout.WEST);
		setupPane.add(topPane, BorderLayout.NORTH);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -