2009-11-23 12 views
8

こんにちは私は、ニンバスのルック・アンド・フィールを使用していて、アイコンとテキストを含むタブ付きのペインを持っています。 アイコンがテキストの右側に表示されますが、左側にアイコンが表示されます。JTabbedPane:タブの左側のアイコン

また、アイコンとテキストの間にスペースを追加したいと思います。

ありがとうございました!

答えて

15

タブコンポーネントを自分で設定する必要があります。タブのタイトルがどのようにレンダリングされるかを管理します。

// Create tabbed pane and add tabs. 
JTabbedPane tabbedPane = ... 

// Create bespoke component for rendering the tab. 
JLabel lbl = new JLabel("Hello, World"); 
Icon icon = new ImageIcon(getClass().getResource("/foo/bar/hello.jpg")); 
lbl.setIcon(icon); 

// Add some spacing between text and icon, and position text to the RHS. 
lbl.setIconTextGap(5); 
lbl.setHorizontalTextPosition(SwingConstants.RIGHT); 

// Assign bespoke tab component for first tab. 
tabbedPane.setTabComponentAt(0, lbl); 

明らかにあなたはユーティリティメソッドでこれをカプセル化することができます:私はタブ pane.addTab(「名に(コンポーネント、文字列、アイコンとツールチップ)を追加するには、このコードを使用していた

private void addTab(JTabbedPane tabbedPane, Component tab, String title, Icon icon) { 
    tabbedPane.add(tab); 

    JLabel lbl = ... // Create bespoke label for rendering tab title. 

    tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, lbl); 
} 
+0

新しいImageIcon( "resources \\ 1.png")、mainPanel、 "tooltip text"); 今私は同じ(テキストが右に表示され、アイコンは左に表示されます) 私は上記のurのコメントで指定された同じものを試しました...そして私のコードで例外があります...助けてください – Gagan93

+0

@ Gagan93:してください別の質問としてこれを投稿できますか?例外を見ることなく、私は私が助けることができるかどうかわからない。 – Adamski

+0

OK、私はdownvotedになることを恐れて投稿していませんでした。私は2分以内に別の質問を投稿して問題を解決しました。解決策を提示してください – Gagan93

関連する問題