2016-07-13 8 views
1

Я настраиваю внешний вид моего JTabbedPane, который содержит три JTables.Изменение цвета линии между вкладкой и JTable

В то время как я успешно раскрашивал цвет выбора вкладки, включая изменение цвета текста, я изменил цвета рамки вкладки, создав собственный BasicTabbedPaneUI. Но есть еще одна линия, которая оставалась такой, какой она была. Эта строка расположена между вкладкой и таблицей. Смотрите следующую картину:

enter image description here

линия Я говорю о помечаются с тремя Litte красных точек. Что это за линия? Если это граница, к которой она принадлежит? Я не нашел способ установить его цвет. Я проверил JTable, он JTabbedPane и даже компоненты JTabbedPane.

Просто чтобы показать, что я могу получить, я нарисовал каждый компонент зеленого цвета. enter image description here

Вы можете видеть, что эта синяя линия все еще остается. Кто-нибудь знает, как изменить свой цвет? Убрать это будет другой приемлемый вариант.

ответ

3

Вероятно TabbedPane.contentAreaColor (верхняя часть TabbedPane.contentBorderInsets):

enter image description here

import java.awt.*; 
import javax.swing.*; 
import javax.swing.plaf.basic.*; 

public final class BasicTabbedPaneColorTest { 
    private JComponent makeUI() { 
    //UIManager.put("TabbedPane.contentBorderInsets", new Insets(10, 10, 10, 10)); 
    //UIManager.put("TabbedPane.contentBorderInsets", new Insets(0, 10, 10, 10)); 

    UIManager.put("TabbedPane.contentAreaColor", Color.GREEN); 
    UIManager.put("TabbedPane.highlight",  Color.RED); 

    JTabbedPane tabs = new JTabbedPane(); 
    tabs.setUI(new BasicTabbedPaneUI()); 
    //tabs.setBackground(Color.ORANGE); 
    //tabs.setOpaque(true); 

    tabs.addTab("JTable", new JScrollPane(new JTable(20, 3))); 
    tabs.addTab("JTree", new JScrollPane(new JTree())); 
    return tabs; 
    } 
    public static void main(String... args) { 
    EventQueue.invokeLater(() -> { 
     JFrame f = new JFrame(); 
     f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
     f.getContentPane().add(new BasicTabbedPaneColorTest().makeUI()); 
     f.setSize(320, 240); 
     f.setLocationRelativeTo(null); 
     f.setVisible(true); 
    }); 
    } 
} 
+0

Fantastic! Он работал с настройкой 'UIManager.put (« TabbedPane.contentAreaColor », Color.GREEN);' – KJaeg