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

📄 900086441a5c001c1314a5c05ae52a38

📁 QQ连连看游戏源码。完全仿照QQ游戏中的连连看制作的单机版游戏。
💻
字号:
/*
 * @author:Mandy
 * @date:2007-09-03
 * all the components are created in this file
 */
package cn.nawang.test;
import javax.swing.JButton;
import javax.swing.JFrame;
//import javax.swing.JDialog;
import java.awt.*;
import javax.swing.*;

public class UIBuilder 
{
	public void initUI(UI FrameUI, EventHandler handler)
	{
		FrameUI.mainFrame = this.createMainFrame(FrameUI);
		FrameUI.settingBtn = this.createBtn(FrameUI, "setup.gif", handler);
		FrameUI.helpBtn = this.createBtn(FrameUI, "help.gif", handler);
		FrameUI.aboutBtn = this.createBtn(FrameUI, "about.gif",handler);
		FrameUI.startBtn = this.createBtn(FrameUI, "start.gif",handler);
		FrameUI.refreshBtn = this.createBtn(FrameUI, "refresh.gif",handler);
		FrameUI.hintBtn = this.createBtn(FrameUI, "hint.gif",handler);
		FrameUI.bombBtn = this.createBtn(FrameUI, "bomb.gif",handler);
		FrameUI.showBtn = this.createBtn(FrameUI, "demo.gif",handler);
		FrameUI.timeLabel = this.createLabel(FrameUI, "  Time: 000.0", "Arial", Font.BOLD, 25, null, 0xd4ffc8);
		FrameUI.statusLabel = this.createLabel(FrameUI, "欢迎使用连连看 1.0 alpha", "宋体", Font.PLAIN, 12, Color.WHITE, 0);
		FrameUI.gotoTop = this.createLabel(FrameUI, "Goto top 10", "Arial", Font.PLAIN, 12, Color.LIGHT_GRAY, 0);
		FrameUI.scoreLabel = this.createLabel(FrameUI, "  $0000", "Arial", Font.BOLD, 30, Color.YELLOW, 0);
		
		FrameUI.setupFrame = this.createSetupFrame(FrameUI);
		FrameUI.closeBtn = this.createCloseBtn(FrameUI, "Close");
		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 = this.createLabel(FrameUI, "Music", "Arial", Font.PLAIN, 12, Color.BLACK, 0);
		FrameUI.effectLabel = this.createLabel(FrameUI, "Effect", "Arial", Font.PLAIN, 12, Color.BLACK, 0);
		FrameUI.levelLabel = this.createLabel(FrameUI, "Level", "Arial", Font.PLAIN, 12, Color.BLACK, 0);
		FrameUI.speedLabel = this.createLabel(FrameUI, "AnimatedSpeed", "Arial", Font.PLAIN, 12, Color.BLACK, 0);
		
		this.layoutManage(FrameUI);
	}
	public JFrame createMainFrame (UI FrameUI)
	{
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		Image icon = toolkit.getImage("cn/nawang/image/kyodai16.gif");
		JFrame frame = new JFrame();
		frame.setTitle("连连看1.0");
		frame.setSize(780, 500);
		frame.setIconImage(icon);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		return frame;
	}
	public JButton createBtn(UI FrameUI, String btnIcon, EventHandler handler)
	{
		JButton actionBtn = new JButton();
		actionBtn.setBorder(BorderFactory.createEmptyBorder());
		actionBtn.setSize(100, 50);
		actionBtn.setIcon(this.getIcon(btnIcon));
		actionBtn.addActionListener(handler);
		return actionBtn;
	}
	public JButton createCloseBtn(UI FrameUI, String btnName)
	{
		JButton closeBtn = new JButton(btnName);
		closeBtn.setPreferredSize(new Dimension(40, 20));
		return closeBtn;
	}
	public JLabel createLabel(UI FrameUI, String labelName, String fontName, int fontStyle, int fontSize, Color fontColor, int color)
	{
		JLabel label = new JLabel(labelName);
		label.setFont(new Font(fontName, fontStyle, fontSize));
		if(fontColor == null)
			label.setForeground(new Color(color));
		else 
			label.setForeground(fontColor);
		return label;
	}
	
	public JFrame createSetupFrame(UI FrameUI)
	{
		JFrame setupFrame = new JFrame("setup");
		setupFrame.setSize(400, 320);
		setupFrame.setVisible(false);
		return setupFrame;
	}
	public JRadioButton createRadioBtn(UI FrameUI, String text, boolean selected)
	{
		JRadioButton radioBtn = new JRadioButton(text);
		radioBtn.setSelected(selected);
		return radioBtn;
	}
	public void layoutManage(UI FrameUI)
	{
		FrameUI.contentPanel = new JPanel();
		FrameUI.contentPanel.setBackground(new Color(0x374d76));
		FrameUI.contentPanel.setLayout(new GridLayout(10, 17, 6, 6));
		
		FrameUI.toolBar = new JPanel();
		FrameUI.toolBar.setBackground(new Color(0x374d76));
		
		FrameUI.toolBar.setLayout(new FlowLayout(FlowLayout.LEFT, 50, 0));
		FrameUI.toolBar.add(FrameUI.settingBtn);
		FrameUI.toolBar.add(FrameUI.helpBtn);
		FrameUI.toolBar.add(FrameUI.aboutBtn);
		FrameUI.actionPanel = new JPanel();
		FrameUI.actionPanel.setBackground(new Color(0x6c93d6));
		FrameUI.actionPanel.setLayout(new BoxLayout(FrameUI.actionPanel, BoxLayout.Y_AXIS));
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.scoreLabel);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.startBtn);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.refreshBtn);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.hintBtn);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.bombBtn);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.showBtn);
		FrameUI.actionPanel.add(Box.createGlue());
		FrameUI.actionPanel.add(FrameUI.timeLabel);
		FrameUI.actionPanel.add(Box.createGlue());
		
		FrameUI.statusPanel = new JPanel();
		FrameUI.statusPanel.setBackground(new Color(0x374d76));
		FrameUI.statusPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 0));
		FrameUI.statusPanel.add(FrameUI.statusLabel);
		for(int i = 0; i<25; i++)
		{
			FrameUI.statusPanel.add(Box.createGlue());
		}
		FrameUI.statusPanel.add(FrameUI.gotoTop);
		
		FrameUI.mainContainer = FrameUI.mainFrame.getContentPane();
		FrameUI.mainPanel = new JPanel();
		FrameUI.mainPanel.setLayout(new BorderLayout(3,3));
		FrameUI.mainPanel.add(FrameUI.toolBar, BorderLayout.NORTH);
		FrameUI.mainPanel.add(FrameUI.contentPanel, BorderLayout.CENTER);
		FrameUI.mainPanel.add(FrameUI.statusPanel, BorderLayout.SOUTH);
		FrameUI.mainPanel.add(FrameUI.actionPanel, BorderLayout.EAST);
		FrameUI.mainContainer.add(FrameUI.mainPanel, 0);
		
		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 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.setupFrame.getContentPane();
		setupPane.setLayout(new BorderLayout());
		setupPane.add(setupItemPane, BorderLayout.CENTER);
		setupPane.add(closeBtnPane, BorderLayout.SOUTH);
		//FrameUI.setupFrame.
	}
	public static ImageIcon getIcon(String filename)
	{
		ImageIcon icon = new ImageIcon("cn/nawang/image/"+filename);
		return icon;
	}
}

⌨️ 快捷键说明

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