3

JSplitPaneディバイダーの背景色を設定しようとしています。次のコードを書きましたが、うまくいかないようです。

        BasicSplitPaneUI ui = (BasicSplitPaneUI) splitPane.getUI();
        BasicSplitPaneDivider divider = ui.getDivider();
        divider.setBackground(Color.decode("#FFFACD"));

私はここで与えられた提案を試しまし たJSplitPaneでBackGroundカラーを仕切りに設定する方法

誰かが間違いを指摘したり、他のアプローチを教えてもらえますか?

4

3 に答える 3

6

分割ペインの仕切りの色を変更するための多くの投稿を検索しました。そして、私はそれに対する解決策を見つけました。

splitPane.setUI(new BasicSplitPaneUI() 
{
    @Override
    public BasicSplitPaneDivider createDefaultDivider() 
    {
        return new BasicSplitPaneDivider(this) 
        {                
            public void setBorder(Border b) {}

            @Override
            public void paint(Graphics g) 
            {
                g.setColor(Color.BLACK);
                g.fillRect(0, 0, getSize().width, getSize().height);
                super.paint(g);
            }
        };
    }
});

splitPane.setBorder(null);

上記のコードを使用して、色を設定したり、仕切りの境界線を設定したりできます。詳細については、この チュートリアルを参照してください。

于 2012-11-24T14:34:58.933 に答える
2

これは私のために働く

BasicSplitPaneDivider divider = (BasicSplitPaneDivider) splitPane.getComponent(2);
divider.setBackground(Color.black);
divider.setBorder(null);
于 2012-03-25T05:46:24.897 に答える
1

どのルックアンドフィールを使用していますか?LaFは、設定した内容を上書きする可能性があります。

これはhttp://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/color.htmlに役立つ場合があります

于 2012-03-15T18:07:51.353 に答える