#navi(../)
*JTabbedPaneのタブ幅を固定 [#ke4395dc]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2005-06-13~
更新日:&lastmod;

#contents
**概要 [#p1be3f60]
JTabbedPaneのタブ幅をできるだけ一定のサイズに固定します。

http://terai.xrea.jp/swing/tabwidth/screenshot.png

**サンプルコード [#gf9ffe1b]
 tab1.setUI(new javax.swing.plaf.basic.BasicTabbedPaneUI() {
   protected int calculateTabWidth(int tabPlacement, int tabIndex,
                                   FontMetrics metrics) {
     int i = super.calculateTabWidth(tabPlacement, tabIndex, metrics);
     return (i<100) ? 100 : i;
   }
 });

-[[サンプルを起動>http://terai.xrea.jp/swing/tabwidth/sample.jnlp]]
-[[jarファイル>http://terai.xrea.jp/swing/tabwidth/sample.jar]]
-[[ソース>http://terai.xrea.jp/swing/tabwidth/src.zip]]

**解説 [#vdaead36]
上記のサンプルでは、BasicTabbedPaneUIのcalculateTabWidthメソッドをオーバーライドして、下のJTabbedPaneのタブ幅がタイトル文字列の長さにかかわらず一定になるように指定しています。

タイトル文字列が長すぎて、JTabbedPaneのサイズが十分で無い場合、タブ幅は適当な大きさに変化します。

以下のように、htmlタグを使って強引にタブ幅を固定する方法もあります。
 public String makeTitle(String title) {
   return "<html><table width='100'><tr><td align='center'>"+
           title+
          "</td></tr></table>";
 }

//**参考リンク
**コメント [#t721888e]
#comment