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

Posted by aterai at 2009-11-30

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

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

  • &jnlp;
  • &jar;
  • &zip;
TabTitleTextPosition.png

サンプルコード

tabbedPane.addTab(title, c);
JLabel label = new JLabel(title, icon, SwingConstants.CENTER);
//label.setVerticalAlignment(SwingConstants.CENTER);
label.setVerticalTextPosition(SwingConstants.BOTTOM);
//label.setHorizontalAlignment(SwingConstants.CENTER);
label.setHorizontalTextPosition(SwingConstants.CENTER);
//Dimension dim = label.getPreferredSize();
//label.setPreferredSize(new Dimension(60, dim.height));
tabbedPane.setTabComponentAt(tabbedPane.getTabCount()-1, label);

解説

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


Java 1.6.0 以前の場合は、以下のように、htmlタグを使用しても良いかもしれません。

JTabbedPane tabs = new JTabbedPane();
tabs.addTab(makeTitle("Title","a32x32.png"), new JLabel("a"));
tabs.addTab(makeTitle("Help", "b32x32.png"), new JLabel("b"));
//...
private String makeTitle(String t, String p) {
  return "<html><center><img src='"+getClass().getResource(p)+"'/><br/>"+t;
}

参考リンク

コメント