Swing/TabWithCloseIcon のバックアップソース(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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にタブを閉じるアイコンを追加 #navi(../) *JTabbedPaneにタブを閉じるアイコンを追加 [#x7fdca76] >編集者:[[Terai Atsuhiro>terai]]~ 作成日:2006-03-20~ 更新日:&lastmod; #contents **概要 [#x36e4e2a] JTabbedPaneにタブを閉じるためのアイコンやボタンを追加します。以下の参考リンクから引用したコードをほぼそのまま引用して紹介しています。 #screenshot **サンプルコード [#b602abb2] 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); } } } -&jnlp; -&jar; -&zip; **解説 [#p2450b3a] -JTabbedPaneWithCloseButton(上) >TabbedPaneLayoutを使用して、ボタンをタブの中にレイアウトしています。 -JTabbedPaneWithCloseIcons(中) >JTabbedPaneには、タブにアイコンを表示する機能があるので、これを利用しています。タブのクリックされた位置がアイコン上かどうかで、そのタブを閉じるかどうかを判断しています。 -CloseableTabbedPane(下) >JTabbedPaneWithCloseIconsの改良版です。アイコンの位置、マウスがアイコン上に来たときの描画機能などが追加されています。 上記のサンプルコードは、一番簡単なJTabbedPaneWithCloseIconsのものを掲載しています。 [[Java SE 6 Mustangの新機能>http://www.02.246.ne.jp/~torutk/jvm/mustang.html]]には、「JTabbedPaneのタブ部分に、文字列・アイコンに加えSwingコンポーネントを使えるように改善」されているので、これらは簡単に実現できるようになっています([[JTabbedPaneにタブを閉じるアイコンを追加(Mustang)>Swing/_Mustang/TabWithCloseButton]])。 **参考リンク [#l8a5ea56] -[[Java Forums - Adding a close icon to a JTabbedPane tab>http://forum.java.sun.com/thread.jspa?threadID=239270]] -[[Java Forums - JTabbedPane with close Icons>http://forum.java.sun.com/thread.jspa?threadID=337070]] -[[Java Forums - Closable Tab in JTabbedPane>http://forum.java.sun.com/thread.jspa?threadID=384894]] -[[CloseAndMaxTabbedPane: An enhanced JTabbedPane>http://www.javaworld.com/javaworld/jw-09-2004/jw-0906-tabbedpane.html]] -[[InfoNode - Java Components>http://www.infonode.net/index.html?itp]] -[[Kirill Grouchnikov's Blog: Spicing up your JTabbedPane - part II>http://weblogs.java.net/blog/kirillcool/archive/2005/12/spicing_up_your_1.html]] -[[JTabbedPaneでタブを追加削除>Swing/TabbedPane]] -[[More Enhancements in Java SE 6 (Mustang)>http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/enhancements/?feed=JSC]] **コメント [#m1834b55] #comment