?? captionbutton.java
字號:
/*
* CaptionButton.java
*
* Created on June 8, 2007, 5:34 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package dyno.swing.beans;
import java.awt.ItemSelectable;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import javax.swing.JComponent;
/**
* 該組件是折疊面板的標題欄組件。這是一個類似toggle-button的組件。
*
* @author William Chen
*/
public class CaptionButton extends JComponent implements ItemSelectable {
// 事件處理器集合
private ArrayList<ItemListener> listeners = new ArrayList<ItemListener>();
//是否展開
private boolean expanded;
//標題文字
private String text;
/** Creates a new instance of CaptionButton */
public CaptionButton() {
this(null, true);
}
/**
* @param text 標題
* @expanded 目前是否展開
*/
public CaptionButton(String text, boolean expanded) {
this.text = text;
this.expanded = expanded;
setUI(new CaptionButtonUI());
}
//添加選擇事件處理器
public void addItemListener(ItemListener l) {
if (!listeners.contains(l)) {
listeners.add(l);
}
}
//刪除選擇事件處理器
public void removeItemListener(ItemListener l) {
if (listeners.contains(l)) {
listeners.remove(l);
}
}
//觸發事件處理器
protected void fireItemStateChanged(ItemEvent e) {
for (ItemListener l : listeners)
l.itemStateChanged(e);
}
//
public Object[] getSelectedObjects() {
if (!expanded) {
return null;
}
return new Object[] { text };
}
public boolean isExpanded() {
return expanded;
}
public void setExpanded(boolean expanded) {
this.expanded = expanded;
repaint();
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
repaint();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -