TITLE:JTabbedPaneのタブアイコンとタイトルの位置
Posted by terai at 2009-11-30

JTabbedPaneのタブアイコンとタイトルの位置

JTabbedPaneのタブ中に配置するタイトルとアイコンの位置を変更します。
  • category: swing folder: TabTitleTextPosition title: JTabbedPaneのタブアイコンとタイトルの位置 tags: [JTabbedPane, Icon, JLabel] author: aterai pubdate: 2009-11-30T13:18:03+09:00 description: JTabbedPaneのタブ中に配置するタイトルとアイコンの位置を変更します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTU96IMXGI/AAAAAAAAAm4/LydkDv26XY8/s800/TabTitleTextPosition.png

概要

JTabbedPaneのタブ中に配置するタイトルとアイコンの位置を変更します。

#screenshot

サンプルコード

#spanend
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
tabbedPane.addTab(title, c);
JLabel label = new JLabel(title, icon, SwingConstants.CENTER);
#spandel
label.setVerticalAlignment(SwingConstants.CENTER);
#spanend
#spanadd
// label.setVerticalAlignment(SwingConstants.CENTER);
#spanend
label.setVerticalTextPosition(SwingConstants.BOTTOM);
#spandel
//label.setHorizontalAlignment(SwingConstants.CENTER);
#spanend
#spanadd
// label.setHorizontalAlignment(SwingConstants.CENTER);
#spanend
label.setHorizontalTextPosition(SwingConstants.CENTER);
#spandel
//Dimension dim = label.getPreferredSize();
#spanend
#spandel
//label.setPreferredSize(new Dimension(60, dim.height));
#spanend
#spandel
tabbedPane.setTabComponentAt(tabbedPane.getTabCount()-1, label);
#spanend
#spanadd
// Dimension dim = label.getPreferredSize();
#spanend
#spanadd
// label.setPreferredSize(new Dimension(60, dim.height));
#spanend
#spanadd
tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, label);
#spanend

解説

上記のサンプルでは、タブにアイコンとラベルの位置を変更したJLabelを配置しています。

解説

上記のサンプルでは、タブにアイコンとラベルの位置を変更したJLabelを配置しています。

参考リンク

  • JLabelのアイコンと文字列の位置
  • JTabbedPaneのタイトルをクリップ
  • JDK 1.6以前の場合はタブにコンポーネントを直接配置する方法がないので以下のようなhtmlタグを使用する必要がある
    #spanend
    #spanadd
    JTabbedPane tabs = new JTabbedPane();
    #spanend
    #spanadd
    tabs.addTab(makeTitle("Title","a32x32.png"), new JLabel("a"));
    #spanend
    #spanadd
    tabs.addTab(makeTitle("Help", "b32x32.png"), new JLabel("b"));
    #spanend
    #spanadd
    // ...
    #spanend
    #spanadd
    private String makeTitle(String t, String p) {
    #spanend
      return "<html><center><img src='" + getClass().getResource(p) + "'/><br/>" + t;
    #spanadd
    }
    #spanend
    #spanadd
    

コメント

参考リンク

コメント