三個按鈕:左按鈕「失效中間按鈕」、中間按鈕無動作、右按鈕「激活中間按鈕」。點擊左/右按鈕切換中間按鈕的啟用/禁用狀態,並同步改變自身可用性。展示圖示、文字位置、助記鍵、工具提示、動作命令等完整按鈕屬性。
public class ButtonDemo extends JPanel implements ActionListener {
protected JButton b1, b2, b3;
public ButtonDemo() {
ImageIcon leftIcon = createImageIcon("images/right.gif");
ImageIcon midIcon = createImageIcon("images/middle.gif");
ImageIcon rightIcon = createImageIcon("images/left.gif");
b1 = new JButton("失效中間按鈕(D)", leftIcon);
b1.setVerticalTextPosition(AbstractButton.CENTER);
b1.setHorizontalTextPosition(AbstractButton.LEADING);
b1.setMnemonic(KeyEvent.VK_D);
b1.setActionCommand("disable");
b2 = new JButton("M中間按鈕", midIcon);
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setHorizontalTextPosition(AbstractButton.CENTER);
b2.setMnemonic(KeyEvent.VK_M);
b3 = new JButton("E激活中間按鈕", rightIcon);
b3.setMnemonic(KeyEvent.VK_E);
b3.setActionCommand("enable");
b3.setEnabled(false);
b1.addActionListener(this); b3.addActionListener(this);
b1.setToolTipText("點擊這個按鈕,將使中間的按鈕失效!");
b2.setToolTipText("點擊這個按鈕,沒有任何的事件發生!");
b3.setToolTipText("點擊這個按鈕,將使中間的按鈕有效");
add(b1); add(b2); add(b3);
}
public void actionPerformed(ActionEvent e) {
if ("disable".equals(e.getActionCommand())) {
b2.setEnabled(false); b1.setEnabled(false); b3.setEnabled(true);
} else {
b2.setEnabled(true); b1.setEnabled(true); b3.setEnabled(false);
}
}
// createImageIcon 載入資源...
}
| 方法 | 說明 |
|---|---|
| setVerticalTextPosition | 文字垂直對齊:TOP, CENTER, BOTTOM |
| setHorizontalTextPosition | 文字水平對齊:LEADING(左), CENTER, TRAILING(右) |
| setMnemonic | 設定 Alt+鍵 快捷鍵 |
| setActionCommand | 設定動作命令字串,事件處理時用 e.getActionCommand() 判斷 |
| setToolTipText | 滑鼠懸停顯示提示文字 |
| setEnabled | 啟用/禁用按鈕 |