1

我正在用 Java 编写 GUI 程序。

我有一个JPanel电话jpanel1,我在上面插入了一个JSplitpane( jSplitPane1)。jSplitPane1我设置了;的左右分量 jpanel2& jpanel3. jpanel1JSplitPane在向下面板(这在Java中可能吗?如果这是可能的,我可以使用该方法透明JTreeJSplitpane

4

2 回答 2

2

您只需要调用:setOpaque(boolean)

于 2011-10-19T11:01:53.803 回答
0

这取决于 L&F。MacOS 上的 AquaL&F 将尊重 setOpaque(false) 但例如 Nimbus 似乎并不关心它。要强制使用透明分隔线,您需要在 JSplitPane 的 UI 定义中覆盖它

 jSplitPane.setUI(new BasicSplitPaneUI(){
            @Override
            public BasicSplitPaneDivider createDefaultDivider() {
                return new BasicSplitPaneDivider(this){
                    @Override
                    public void paint(Graphics g) {
                    }
                };
            }
        });

一个潜在的缺点是这种方法会覆盖该组件的 L&F,因此可能会带走其他 L&F 主题元素。

于 2014-09-03T06:43:32.270 回答