📄 functionpanel.java
字号:
/* * @(#) FunctionPanel.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.panel.function;//导入核心Java类库import java.awt.CardLayout;import java.lang.reflect.Method;import java.lang.reflect.InvocationTargetException;import javax.swing.JPanel;//导入自定义Java类库import hws.item.smart.misc.XMLConfig;/** * 功能面板 * * @version 0.1 2005-08-07 * @author Hwerz */public class FunctionPanel extends JPanel { /*------------------------------------------------------------------------* * 属性定义 * *------------------------------------------------------------------------*/ /** * 该类自身的一个静态引用 */ private static FunctionPanel panel; /** * 中部面板的布局管理器 */ private static CardLayout cardLayout = new CardLayout(); /*------------------------------------------------------------------------* * 构造函数 * *------------------------------------------------------------------------*/ /** * 构造函数为私有,这样在整个运行过程中该类就只能有一个实例 */ private FunctionPanel() { super(cardLayout); for (int i = 0; i < XMLConfig.getParentButtonCount(); i++) { for (int j = 0; j < XMLConfig.getSonButtonCount(i); j++) { String l = XMLConfig.getSonButtonLabel(i, j); String c = XMLConfig.getSonButtonClass(i, j); try { Class c2 = getClass().forName(c); Method m = c2.getDeclaredMethod("getInstance", null); JPanel p = (JPanel) m.invoke(null, null); add(p, l); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } int index1 = XMLConfig.getDefaultParentButtonIndex(); int index2 = XMLConfig.getDefaultSonButtonIndex(index1); show(XMLConfig.getSonButtonLabel(index1, index2)); } /*------------------------------------------------------------------------* * 公共方法 * *------------------------------------------------------------------------*/ /** * 对该类提供的一个全局访问点,用来实例化该对象 * * @return 该类唯一的一个实例 */ public static FunctionPanel getInstance() { if (panel == null) { panel = new FunctionPanel(); } return panel; } /** * 显示具有指定标签的面板 * * @param label 指定面板的标签 */ public void show(String label) { cardLayout.show(this, label); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -