2016-07-13 47 views
1

세 개가 포함 된 JTabbedPane의 시각적 모양을 사용자 정의하고 있습니다.Tab과 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

환상적인! 그것은'UIManager.put ("TabbedPane.contentAreaColor", Color.GREEN);' – KJaeg