TITLE:JTabbedPaneでタブを追加削除

JTabbedPaneでタブを追加削除

編集者:Terai Atsuhiro
作成日:2003-11-21
更新日:2024-01-27 (土) 14:37:42

概要

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

#screenshot

サンプルコード

private void showTabPop(MouseEvent e) {
  JPopupMenu pop = new JPopupMenu();
  AbstractAction action = new NewTabAction(MENUITEM_NEWTAB, null);
  pop.add(action);
  pop.addSeparator();
  action = new ClosePageAction(MENUITEM_CLOSEPAGE, null);
  
  //int num = tab.getUI().tabForCoordinate(tab, e.getX(), e.getY());
  int num = tab.indexAtLocation(e.getX(), e.getY()); //1.4以上なら
  action = new ClosePageAction(MENUITEM_CLOSEPAGE, null);
  action.setEnabled(num>0?true:false);
  //boolean flg = false;
  //for(int i=0;i<tab.getTabCount();i++) {
  //  if(tab.getBoundsAt(i).contains(e.getPoint())) {
  //    flg = true;
  //    break;
  //  }
  //}
  //action.setEnabled(flg);
  pop.add(action);
  pop.addSeparator();
  action = new CloseAllAction(MENUITEM_CLOSEALL, null);
  pop.add(action);
  action = new CloseAllButActiveAction(MENUITEM_CLOSEALLBUTACTIVE, null);
  pop.add(action);
  pop.show(tab, e.getX(), e.getY());
}
  • &jnlp;
  • &jar;
  • &zip;

解説

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

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

コメント