📄 panelfactory.java
字号:
package cn.bz.util.swing;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* 本程序中所使用的所有PANEL将都出现在此.
*
* @author 魏丽平
*
*/
public class PanelFactory {
private JPanel 灯光;
private JPanel 雾效;
private JPanel 声音;
PanelFactory() {
灯光 = new JPanel();
雾效 = new JPanel();
声音 = new JPanel();
init();
}
// =============================================
public void init() {
// 在此封装有关各种灯光的操作.如环境光,漫反射等
灯光.setLayout(new BorderLayout());
灯光.add(lightPanel());
// -----------------------------------
雾效.add(new JLabel("fog"));
// -----------------------------------
声音.add(new JLabel("sound"));
}
// =============================================
public JPanel get灯光() {
return 灯光;
}
public JPanel get声音() {
return 声音;
}
public JPanel get雾效() {
return 雾效;
}
Box lightPanel() {
Box panel = new Box(BoxLayout.Y_AXIS);// 创建一个沿指定坐标轴显示其组件的 Box。
// add the ambient light checkbox to the panel
JCheckBox ambientCheckBox = new JCheckBox("Ambient Light");
ambientCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JCheckBox checkbox = (JCheckBox) e.getSource();
// lightAmbient.setEnable(checkbox.isSelected());
}
});
ambientCheckBox.setSelected(true);
panel.add(new LeftAlignComponent(ambientCheckBox));
String[] lightTypeValues = { "None", "Directional", "Positional",
"Spot" };
IntChooser lightTypeChooser = new IntChooser("Light Type:",
lightTypeValues);
/*
* lightTypeChooser.addIntListener(new IntListener() { public void
* intChanged(IntEvent event) { int value = event.getValue(); switch
* (value) { case 0: lightDirectional.setEnable(false);
* lightPoint.setEnable(false); lightSpot.setEnable(false); break; case
* 1: lightDirectional.setEnable(true); lightPoint.setEnable(false);
* lightSpot.setEnable(false); break; case 2:
* lightDirectional.setEnable(false); lightPoint.setEnable(true);
* lightSpot.setEnable(false); break; case 3:
* lightDirectional.setEnable(false);
* lightPoint.setEnable(false);lightSpot.setEnable(true); break; } } });
*/
lightTypeChooser.setValueByName("Directional");
panel.add(lightTypeChooser);
return panel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -