亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更改 JSplitPane 中分割欄的樣式?

如何更改 JSplitPane 中分割欄的樣式?

侃侃爾雅 2023-09-20 16:34:52
我JSplitPane在一些面板中使用了 s,但它們有點厚,特別是當你顯示其中一些面板時。是否可以將這些條形設計為更細的樣式,例如帶箭頭的線,甚至只是一條線?
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

您可以使用setDividerSize它來更改其寬度。它的默認值為 10。完整示例:


public class SplitPaneTest extends JFrame {

    public SplitPaneTest() {

        super("test");

        setDefaultCloseOperation(EXIT_ON_CLOSE);

        setLayout(new BorderLayout());


        JPanel left = new JPanel();

        JPanel right = new JPanel();


        JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);

        System.out.println(sp.getDividerSize()); //Prints 10

        sp.setDividerSize(1);


        add(sp, BorderLayout.CENTER);

        pack();

        setLocationRelativeTo(null);

    }


    public static void main(String[] args) {

        SwingUtilities.invokeLater(() -> {

            new SplitPaneTest().setVisible(true);

        });

    }

}

然而,外觀和感覺能夠改變它的外觀,因為它們改變了它的UI. 如果上述解決方案不適合您,您將不得不修改其 UI。例如,在我的一個應用程序中,我不需要任何線條(在使用 Windows 外觀和感覺時),因此為了使其不可見,我必須:


sp.setUI(new BasicSplitPaneUI() {

    @Override

    public BasicSplitPaneDivider createDefaultDivider() {

        return new BasicSplitPaneDivider(this) {

            private static final long serialVersionUID = -6000773723083732304L;


            @Override

            public void paint(Graphics g) {

                //Divider gets no painting

            }

        };

    }

});


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號