📄 setupdialogbuilder.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 + -