📄 900086441a5c001c1314a5c05ae52a38
字号:
/*
* @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 + -