2009-11-23 47 views
8

xin chào tôi đang sử dụng giao diện và cảm giác của nimbus và có một tabbedpane với biểu tượng và văn bản. bây giờ biểu tượng xuất hiện ở bên phải của văn bản, trong khi tôi muốn có nó ở phía bên trái.JTabbedPane: biểu tượng ở phía bên trái của các tab

tôi cũng muốn thêm khoảng cách giữa biểu tượng và văn bản.

cảm ơn!

Trả lời

15

Bạn cần tự đặt thành phần tab; điều chỉnh cách hiển thị tiêu đề tab.

// 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); 

Rõ ràng bạn có thể gói gọn trong một phương pháp hữu ích:

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

tôi đã sử dụng mã này để thêm (thành phần, chuỗi, biểu tượng và tooltip) vào tab pane.addTab ("Name của Tab ", new ImageIcon (" resources \\ 1.png "), mainPanel," văn bản chú giải công cụ "); bây giờ tôi muốn như vậy (văn bản xuất hiện bên phải và biểu tượng bên trái) tôi đã thử cùng một u được chỉ định trong bình luận ur ở trên ... và tôi đã nhận được ngoại lệ trong mã của tôi ... xin vui lòng giúp – Gagan93

+0

@ Gagan93: Xin vui lòng bạn có thể đăng bài này như một câu hỏi riêng; mà không thấy ngoại lệ, tôi không chắc mình có thể giúp gì. – Adamski

+0

ok, tôi đã không đăng bài vì sợ bị downvoted, tôi đăng một câu hỏi khác nhau trong vòng 2 phút với vấn đề của tôi ... vui lòng cung cấp giải pháp – Gagan93

Các vấn đề liên quan