2016-07-13 8 views
1

私はJTabbedPaneの視覚的外観をカスタマイズしていますが、それは3つのJTablesを含んでいます。TabとJTableの間の線の色を変更します

テキストの色の変更を含め、タブの選択色をうまく塗りつぶしている間に、私はBasicTabbedPaneUIを作成してタブの境界線の色を変更しました。しかし、まだ1つの線があり、それはそのままであった。この行は、タブとテーブルの間にあります。以下の画像を参照してください:

enter image description here

私は3つのリッテ赤い点が付いているの話をしています行を。 この行は何ですか?国境であれば、それはどこに属していますか?私はその色を設定する方法を見つけませんでした。私はJTable、彼はJTabbedPane、さらにはJTabbedPaneのコンポーネントをチェックしました。

私がアクセスできるものを表示するだけで、すべてのコンポーネントが緑色に塗られています。 enter image description here

この青い線がまだ残っていることがわかります。 誰かが色を変更する方法を知っていますか? これを削除することも可能です。

答えて

3

おそらくTabbedPane.contentAreaColorTabbedPane.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

関連する問題