我正在用 Java 编写 GUI 程序。
我有一个JPanel
电话jpanel1
,我在上面插入了一个JSplitpane
( jSplitPane1
)。jSplitPane1
我设置了;的左右分量 jpanel2
& jpanel3
. jpanel1
我JSplitPane
在向下面板(这在Java中可能吗?如果这是可能的,我可以使用该方法透明JTree
吗JSplitpane
?
我正在用 Java 编写 GUI 程序。
我有一个JPanel
电话jpanel1
,我在上面插入了一个JSplitpane
( jSplitPane1
)。jSplitPane1
我设置了;的左右分量 jpanel2
& jpanel3
. jpanel1
我JSplitPane
在向下面板(这在Java中可能吗?如果这是可能的,我可以使用该方法透明JTree
吗JSplitpane
?
您只需要调用:setOpaque(boolean)
。
这取决于 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 主题元素。