我正在用Java编写GUI程序。
我有一个名为JPanel
的{{1}}我在其上插入了jpanel1
(JSplitpane
)。我设置了jSplitPane1
的左右组件; jSplitPane1
& jpanel2
。我在向下面板(jpanel3
)上设置了背景图像,我想要jpanel1
,它的左右组件是透明的,这样我就可以看到它们上的背景图像。这在Java中可行吗?如果可以,我可以使用该方法将JSplitPane
透明为JTree
吗?
答案 0 :(得分:2)
您只需致电:setOpaque(boolean)
。
答案 1 :(得分: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主题元素。