2011-06-17 67 views
5

Tôi muốn nhận được hiệu ứng như nếu JTabbedPane sẽ được quay 90 độ ngược chiều kim đồng hồ (chỉ các tab chứ không phải nội dung bên trong các tab). Cách tốt nhất để thực hiện điều đó trong Java là gì?Làm cách nào để tạo các tab dọc trong Java?

Trả lời

5

Trong giải pháp này:

http://oreilly.com/pub/a/mac/2002/03/22/vertical_text.html

Văn bản được vẽ theo chiều dọc và cố gắng làm biểu tượng trên tab. Bằng cách này bạn không cần phải sửa đổi JTabbedPane bạn chỉ cần sử dụng một biểu tượng tùy chỉnh trong tab.

Tất nhiên bạn cũng sẽ phải chỉ định vị trí tab ở bên trái.

+1

và một số ví dụ cho rằng http://www.java2s.com/Code/Java/Swing-JFC/TabbedPane.htm + 1 – mKorbel

+0

@mKorbel: Tôi không tìm thấy các ví dụ về tab dọc ở đó. – bancer

+0

@bancer thực sự chuyển đổi yêu cầu của bạn sang mã mà bạn hiển thị ở đây, có thể là về hack nhỏ, bạn có thể Chỉnh sửa câu hỏi gốc của bạn, sau đó chúng tôi xem xét nó – mKorbel

3

Bạn có thể thử setTabPlacement(SwingConstants.LEFT) hoặc this component

+0

Tôi không thấy liên kết đó giúp ích như thế nào. Cộng với vị trí tab sẽ không tạo văn bản dọc. – jzd

+0

Như tôi đã hiểu, tác giả cần các tab dọc nhưng văn bản ngang, tôi đã quyết định từ @ này (chỉ các tab nhưng không phải nội dung bên trong các tab) @ –

4

Là một thay thế, hãy xem xét JToolBar với orientation thiết lập để VERTICAL trong một BorderLayout, EAST hoặc WEST. Nó khá dễ dàng rotate text trong nút Icon.

0

Bạn có thể thử và mở rộng các lớp tabpane, trong phương pháp sơn quá tải, có đối tượng đồ họa, nói g2d là lập luận của phương pháp sơn quá tải:

super(g2d.rotate(Pi/2)); 

như một khởi

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