Swing/TabWithCloseIcon のバックアップ(No.17)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TabWithCloseIcon へ行く。
- 1 (2006-03-20 (月) 12:44:58)
- 2 (2006-03-21 (火) 15:06:03)
- 3 (2006-06-12 (月) 11:42:47)
- 4 (2006-08-17 (木) 18:57:45)
- 5 (2006-08-18 (金) 08:15:54)
- 6 (2006-09-01 (金) 14:54:14)
- 7 (2007-01-31 (水) 15:36:48)
- 8 (2007-03-09 (金) 01:27:32)
- 9 (2007-07-26 (木) 17:12:09)
- 10 (2007-07-26 (木) 23:18:33)
- 11 (2010-09-02 (木) 08:06:15)
- 12 (2012-08-17 (金) 18:36:47)
- 13 (2013-03-13 (水) 15:35:44)
- 14 (2013-08-27 (火) 18:06:51)
- 15 (2013-09-17 (火) 14:44:02)
- 16 (2014-11-25 (火) 03:03:31)
- 17 (2015-02-04 (水) 18:51:22)
- 18 (2016-12-06 (火) 15:08:38)
- 19 (2017-12-03 (日) 00:02:27)
- 20 (2019-08-27 (火) 16:11:28)
- 21 (2021-04-17 (土) 02:57:32)
- title: JTabbedPaneにタブを閉じるアイコンを追加 tags: [JTabbedPane, Icon, JButton] author: aterai pubdate: 2006-03-20T12:44:58+09:00 description: JTabbedPaneにタブを閉じるためのアイコンやボタンを追加します。
概要
JTabbedPane
にタブを閉じるためのアイコンやボタンを追加します。以下の参考リンクから引用したコードをほぼそのまま引用して紹介しています。
Screenshot
Advertisement
サンプルコード
public class JTabbedPaneWithCloseIcons extends JTabbedPane {
public JTabbedPaneWithCloseIcons() {
super();
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
tabClicked(e);
}
});
}
public void addTab(String title, Component component) {
this.addTab(title, component, null);
}
public void addTab(String title, Component component, Icon extraIcon) {
super.addTab(title, new CloseTabIcon(extraIcon), component);
}
private void tabClicked(MouseEvent e) {
int index = getUI().tabForCoordinate(this, e.getX(), e.getY());
if(index<0) return;
Rectangle rect = ((CloseTabIcon)getIconAt(index)).getBounds();
if(rect.contains(e.getX(), e.getY())) {
removeTabAt(index);
}
}
}
View in GitHub: Java, Kotlin解説
JTabbedPaneWithCloseButton
(上)TabbedPaneLayout
を使用して、ボタンをタブの中にレイアウト
JTabbedPaneWithCloseIcons
(中)JTabbedPane
の、タブにアイコンを表示する機能を利用- タブのクリックされた位置がアイコン上かどうかで、そのタブを閉じるかどうかを判断
CloseableTabbedPane
(下)JTabbedPaneWithCloseIcons
の改良版- アイコンの位置、マウスがアイコン上に来たときの描画機能などを追加
Java 1.6.0
では、JTabbedPane
のタブ部分に、文字列・アイコンに加えSwing
コンポーネントが使えるようになっているので、上記のサンプルはもっと簡単に実現できるようになっています。
参考リンク
- Swing (Archive) - Adding a close icon to a JTabbedPane tab
- Swing - JTabbedPane with close Icons
- Swing (Archive) - Closable Tab in JTabbedPane
- CloseAndMaxTabbedPane: An enhanced JTabbedPane
- InfoNode - Java Components
- Kirill Grouchnikov's Blog: Spicing up your JTabbedPane - part II
- JTabbedPaneでタブを追加削除
- More Enhancements in Java SE 6