Swing/TabTitleAlignment のバックアップ差分(No.3)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/TabTitleAlignment へ行く。
- 1 (2010-10-11 (月) 18:19:33)
- 2 (2012-12-26 (水) 06:41:05)
- 3 (2013-09-03 (火) 01:30:18)
- 4 (2014-11-01 (土) 00:46:09)
- 5 (2014-11-25 (火) 03:03:31)
- 6 (2015-03-20 (金) 15:25:10)
- 7 (2017-02-16 (木) 21:19:52)
- 8 (2017-04-04 (火) 14:17:08)
- 9 (2017-11-02 (木) 15:34:40)
- 10 (2017-12-27 (水) 18:31:19)
- 11 (2019-05-22 (水) 19:35:38)
- 12 (2019-12-20 (金) 14:55:38)
- 13 (2021-06-22 (火) 17:54:35)
- 14 (2022-08-20 (土) 22:15:25)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTabbedPaneのTabTitleを左揃えに変更 #navi(../) #tags() #tags(JTabbedPane, Alignment, JButton) RIGHT:Posted by &author(aterai); at 2010-10-11 *JTabbedPaneのTabTitleを左揃えに変更 [#y839b018] JTabbedPaneのTabTitleをデフォルトに中央揃えから左揃えに変更します。 ``JTabbedPane``の``TabTitle``をデフォルトに中央揃えから左揃えに変更します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTU2Jp4a6I/AAAAAAAAAms/x6g2ML8eyyQ/s800/TabTitleAlignment.png) **サンプルコード [#a4171eff] #code(link){{ class MyTabbedPaneUI extends javax.swing.plaf.metal.MetalTabbedPaneUI { @Override protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected ) { textRect.x = textRect.y = iconRect.x = iconRect.y = 0; //... SwingUtilities.layoutCompoundLabel((JComponent) tabPane, metrics, title, icon, SwingUtilities.CENTER, SwingUtilities.LEFT, //CENTER, <---- SwingUtilities.CENTER, SwingUtilities.TRAILING, tabRect, iconRect, textRect, textIconGap); tabPane.putClientProperty("html", null); textRect.translate(tabInsets.left, 0); //<---- textRect.width -= tabInsets.left+tabInsets.right; //... } } }} **解説 [#m7c4ecf6] -上 --デフォルト(中央揃え) -中 --WindowsTabbedPaneUI#layoutLabel(...)などをオーバーライドして左揃えに変更 --``WindowsTabbedPaneUI#layoutLabel(...)``などをオーバーライドして左揃えに変更 -下 --[[JTabbedPaneのタブを等幅にしてタイトルをクリップ>Swing/ClippedTitleTab]]、[http://docs.oracle.com/javase/tutorial/uiswing/examples/components/TabComponentsDemoProject/src/components/ButtonTabComponent.java ButtonTabComponent.java]を変更してタイトルを左揃え、TabButtonを右揃え --[[JTabbedPaneのタブを等幅にしてタイトルをクリップ>Swing/ClippedTitleTab]]、[http://docs.oracle.com/javase/tutorial/uiswing/examples/components/TabComponentsDemoProject/src/components/ButtonTabComponent.java ButtonTabComponent.java]を変更してタイトルを左揃え、``TabButton``(閉じる)を右揃え #code{{ public ButtonTabComponent(final JTabbedPane pane) { //unset default FlowLayout' gaps //super(new FlowLayout(FlowLayout.LEFT, 0, 0)); super(new BorderLayout(0, 0)); //... //add(button); add(button, BorderLayout.EAST); //... }} **参考リンク [#vd528ee3] -[[JTabbedPaneのタブを等幅にしてタイトルをクリップ>Swing/ClippedTitleTab]] -[http://docs.oracle.com/javase/tutorial/uiswing/examples/components/TabComponentsDemoProject/src/components/ButtonTabComponent.java ButtonTabComponent.java] -[http://forums.oracle.com/forums/thread.jspa?threadID=1554158 OTN Discussion Forums : JTabbedPane title alignment] -[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4220177 Bug ID: 4220177 labels within JTabbedPane tabs should be alignable] **コメント [#scc2e8ab] #comment