?? functionpanel.java
字號:
/* * @(#) FunctionPanel.java * Copyright 2004 HWStudio. All rights reserved. */package hws.item.smart.panel.function;//導(dǎo)入核心Java類庫import java.awt.CardLayout;import java.lang.reflect.Method;import java.lang.reflect.InvocationTargetException;import javax.swing.JPanel;//導(dǎo)入自定義Java類庫import hws.item.smart.misc.XMLConfig;/** * 功能面板 * * @version 0.1 2005-08-07 * @author Hwerz */public class FunctionPanel extends JPanel { /*------------------------------------------------------------------------* * 屬性定義 * *------------------------------------------------------------------------*/ /** * 該類自身的一個靜態(tài)引用 */ private static FunctionPanel panel; /** * 中部面板的布局管理器 */ private static CardLayout cardLayout = new CardLayout(); /*------------------------------------------------------------------------* * 構(gòu)造函數(shù) * *------------------------------------------------------------------------*/ /** * 構(gòu)造函數(shù)為私有,這樣在整個運行過程中該類就只能有一個實例 */ 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; } /** * 顯示具有指定標(biāo)簽的面板 * * @param label 指定面板的標(biāo)簽 */ public void show(String label) { cardLayout.show(this, label); }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -