📄 006f9c1db45d001c128ced76f2f6da6d
字号:
/*
* @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 = createLabel(FrameUI, " Time: 000.0", "Arial", Font.BOLD, 25, null, 0xd4ffc8);
FrameUI.statusLabel = createLabel(FrameUI, "欢迎使用连连看 1.0 alpha", "宋体", Font.PLAIN, 12, Color.WHITE, 0);
FrameUI.gotoTop = createLabel(FrameUI, "Goto top 10", "Arial", Font.PLAIN, 12, Color.LIGHT_GRAY, 0);
FrameUI.scoreLabel = createLabel(FrameUI, " $0000", "Arial", Font.BOLD, 30, Color.YELLOW, 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);
//frame.pack();
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 static 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 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 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);
}
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 + -