Swing/TabTitleTextPosition のバックアップの現在との差分(No.9)
- category: swing folder: TabTitleTextPosition title: JTabbedPaneのタブアイコンとタイトルの位置 tags: [JTabbedPane, Icon, JLabel] author: aterai pubdate: 2009-11-30T13:18:03+09:00 description: JTabbedPaneのタブ中に配置するタイトルとアイコンの位置を変更します。 image:
概要
JTabbedPane
のタブ中に配置するタイトルとアイコンの位置を変更します。
Screenshot
Advertisement
サンプルコード
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
#spanadd
// Dimension dim = label.getPreferredSize();
#spanend
#spanadd
// label.setPreferredSize(new Dimension(60, dim.height));
#spanend
tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, label);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、タブにアイコンとラベルの位置を変更したJLabel
を配置しています。
-
JDK 1.6
以前の場合はタブにコンポーネントを直接配置する方法がないので、以下のようなhtml
タグを使用する必要がある -
JDK 1.6
以前の場合はタブにコンポーネントを直接配置する方法がないので以下のようなhtml
タグを使用する必要があるJTabbedPane tabs = new JTabbedPane(); tabs.addTab(makeTitle("Title","a32x32.png"), new JLabel("a")); tabs.addTab(makeTitle("Help", "b32x32.png"), new JLabel("b")); #spandel //... #spanend #spanadd // ... #spanend private String makeTitle(String t, String p) { return "<html><center><img src='"+getClass().getResource(p)+"'/><br/>"+t; return "<html><center><img src='" + getClass().getResource(p) + "'/><br/>" + t; }