Отступ JTabbedPane - PullRequest
       17

Отступ JTabbedPane

2 голосов
/ 07 сентября 2010

При использовании JTabbedPane как сделать отступ для вкладок?

Вывод по умолчанию для Swing:

-------  ---------  ------
|  A  |  |   B   |  |  C |
------------------------------
|                            |
|                            | 
|                            |
|                            |
|                            |

Желаемый вывод с отступом:

   -------  ---------  ------
   |  A  |  |   B   |  |  C |
------------------------------
|                            |
|                            | 
|                            |
|                            |
|                            |

Это кажется простымдостаточно, но я не смог найти решение.Спасибо.

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Для всех панелей с вкладками вы можете использовать следующее с LAF по умолчанию:

UIManager.put("TabbedPane.tabAreaInsets", new Insets(2, 20, 0, 6) );

См. Также: UIManager по умолчанию

Для отдельных панелей с вкладками вы, вероятно, вероятно,необходимо переопределить метод "getTabAreaInsets ()" класса BasicTabbedPaneUI для возврата указанного выше Inset.

0 голосов
/ 07 сентября 2010

Если нет способа сделать это с помощью простого JTabbedPane, вы можете использовать следующее (слегка не элегантное) решение:

Создайте свой собственный компонент, состоящий из JTabbedPane и JPanel.JTabbedPane отображает только вкладки;насколько это касается, каждая вкладка пуста.JPanel (используя CardLayout) отвечает за фактическое отображение каждой вкладки.Добавьте ChangeListener в JTabbedPane и используйте его для переключения между картами CardLayout.

Затем все, что вам нужно сделать, это расположить JTabbedPane и JPanel в вашем собственном компоненте, что вы можете делать, как вам нравится,Это позволяет вам сдвинуть вкладки вправо.

...