Я бы хотел получить такой эффект, как если бы JTabbedPane поворачивался на 90 градусов против часовой стрелки (только вкладки, но не содержимое внутри вкладок). Каков наилучший способ реализовать это в Java?
В этом решении:
http://oreilly.com/pub/a/mac/2002/03/22/vertical_text.html
Текст был закрашен по вертикали и опробован в виде значка на вкладке. Таким образом, вам не нужно изменять JTabbedPane, вы просто используете собственный значок на вкладке.
Конечно, вам также нужно указать расположение вкладок слева.
Вы можете указать размещение в конструкторе:
http://download.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html#JTabbedPane%28int%29
или в сеттер:
http://download.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html#setTabPlacement%28int%29
В качестве альтернативы рассмотрим JToolBar с orientation, установленным на VERTICAL в BorderLayout, EAST или WEST. Это довольно просто повернуть текст в кнопке Icon.
JToolBar
orientation
VERTICAL
BorderLayout
EAST
WEST
Icon
Вы можете попробовать setTabPlacement(SwingConstants.LEFT) или этот компонент
setTabPlacement(SwingConstants.LEFT)
Вы можете попытаться расширить класс tabpane, в перегруженном методе рисования получить графический объект, скажем, g2d является аргументом перегруженного метода рисования:
g2d
super(g2d.rotate(Pi/2));
в качестве стартера