Swing/TabbedPane のバックアップの現在との差分(No.17)
TITLE:JTabbedPaneでタブを追加削除
Posted by aterai at 2003-11-21
JTabbedPaneでタブを追加削除
ポップアップメニューを使って、JTabbedPaneにタブを追加、削除します。- category: swing folder: TabbedPane title: JTabbedPaneでタブを追加削除 tags: [JTabbedPane, JPopupMenu] author: aterai pubdate: 2003-12-22 description: ポップアップメニューを使って、JTabbedPaneにタブを追加、削除します。 image:
概要
ポップアップメニューを使って、JTabbedPane
にタブを追加、削除します。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
サンプルコード
サンプルコード
#spandel
private final JPopupMenu pop = new JPopupMenu() {
#spanend
public void show(Component c, int x, int y) {
//JDK 1.3 tabindex = tab.getUI().tabForCoordinate(tab, x, y);
closePageAction.setEnabled(tab.indexAtLocation(x, y)>=0);
closeAllAction.setEnabled(tab.getTabCount()>0);
closeAllButActiveAction.setEnabled(tab.getTabCount()>0);
#spanadd
JPopupMenu popup = new JPopupMenu() {
#spanend
@Override public void show(Component c, int x, int y) {
// JDK 1.3:
// closePageAction.setEnabled(
// tabs.getUI().tabForCoordinate(tabs, x, y) >= 0);
closePageAction.setEnabled(tabs.indexAtLocation(x, y) >= 0);
closeAllAction.setEnabled(tabs.getTabCount() > 0);
closeAllButActiveAction.setEnabled(tabs.getTabCount() > 0);
super.show(c, x, y);
}
};
View in GitHub: Java, Kotlin解説
上記のサンプルでは、ポップアップメニューから、タブの追加、削除などが実行できます。解説
上記のサンプルではJPopupMenu
からJTabbedPane
にタブの追加、削除などが実行可能です。
削除メニューは、タブタイトル上で右クリックされた場合のみ選択可となります。タブタイトル上でマウスがクリックされたかどうかは、JDK 1.4 で導入された JTabbedPane#indexAtLocationメソッドで判定しています。
- 削除メニューは、タブタイトル上で右クリックされた場合のみ選択可
- タブタイトル上でマウスがクリックされたかどうかは、
JDK 1.4
で導入されたJTabbedPane#indexAtLocation(...)
メソッドで判定(タブ以外の場所がクリックされた場合は-1
が返される)
- タブタイトル上でマウスがクリックされたかどうかは、
コメント
- スクリーンショットなどを更新 -- aterai