JTabbedPane в Windows L&F с несъемной рамкой
Я пишу Swing-программу, используя JTabbedPane (содержащий JScrollPane) и внешний вид Windows. Когда JTabbedPane рендерится с Windows L&F, он помещает двухпиксельную белую линию слева и однопиксельную белую линию внизу компонента (см. Прикрепленное изображение).
Есть ли способ удалить это? Добавление (или удаление) границы размещает только одну вокруг внешних линий. Я рассмотрел написание своего собственного пользовательского интерфейса для этого конкретного компонента, но я не уверен, с чего начать (не говоря уже о том, как использовать класс Windows L & F). Я могу использовать UIManager для установки смещения на 0, но это обрезает границу по умолчанию. Мои собственные теории вращаются вокруг какого-то устаревшего эффекта скоса, который не отображается в Windows 7. Какие-нибудь другие идеи?
1 ответ
Это выглядеть и чувствовать себя надежным. Попробуйте изменить UIManager
ценностьTabbedPane.contentBorderInsets
,
Например:
UIManager.getDefaults().put("TabbedPane.contentBorderInsets", new Insets(1,1,1,1));
Посмотрите UIManager Defaults (by @camickr) для других свойств и их значений по умолчанию.
РЕДАКТИРОВАТЬ:
Мне удалось очистить верхнюю линию с TabbedPane.tabAreaInsets
:
UIManager.getDefaults().put("TabbedPane.contentBorderInsets", new Insets(0,0,0,0));
UIManager.getDefaults().put("TabbedPane.tabAreaInsets", new Insets(0,0,0,0));