Swing/TabbedPane の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/TabbedPane へ行く。
- Swing/TabbedPane の差分を削除
--- category: swing folder: TabbedPane title: JTabbedPaneでタブを追加削除 tags: [JTabbedPane, JPopupMenu] author: aterai pubdate: 2003-12-22 description: ポップアップメニューを使って、JTabbedPaneにタブを追加、削除します。 image: https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTULwZD83I/AAAAAAAAAlo/NwNuK8prCFY/s800/TabbedPane.png --- * 概要 [#summary] ポップアップメニューを使って、`JTabbedPane`にタブを追加、削除します。 #download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTULwZD83I/AAAAAAAAAlo/NwNuK8prCFY/s800/TabbedPane.png) * サンプルコード [#sourcecode] #code(link){{ JPopupMenu popup = new JPopupMenu() { @Override public void show(Component c, int x, int y) { // JDK 1.3 closePageAction.setEnabled(tabs.getUI().tabForCoordinate(tabs, x, y) >= 0); // 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); } }; }} * 解説 [#explanation] 上記のサンプルでは`JPopupMenu`から`JTabbedPane`にタブの追加、削除などが実行可能です。 - 削除メニューは、タブタイトル上で右クリックされた場合のみ選択可 -- タブタイトル上でマウスがクリックされたかどうかは、`JDK 1.4`で導入された`JTabbedPane#indexAtLocation(...)`メソッドで判定(タブ以外の場所がクリックされた場合は`-1`が返される) * 参考リンク [#reference] [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTabbedPane.html#indexAtLocation-int-int- JTabbedPane#indexAtLocation(int, int) (Java Platform SE 8)] * コメント [#comment] #comment - スクリーンショットなどを更新 -- &user(aterai); &new{2008-03-13 (Thu) 21:58:23}; #comment