• title: JTabbedPaneでタブを追加削除 tags: [JTabbedPane, JPopupMenu] author: aterai pubdate: 2003-12-22 description: ポップアップメニューを使って、JTabbedPaneにタブを追加、削除します。

概要

ポップアップメニューを使って、JTabbedPaneにタブを追加、削除します。

サンプルコード

private final JPopupMenu pop = new JPopupMenu() {
  @Override 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);
    super.show(c, x, y);
  }
};
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、ポップアップメニューから、タブの追加、削除などが実行できます。

削除メニューは、タブタイトル上で右クリックされた場合のみ選択可となります。タブタイトル上でマウスがクリックされたかどうかは、JDK 1.4で導入されたJTabbedPane#indexAtLocationメソッドで判定しています。

コメント