【发布时间】:2010-09-08 11:15:30
【问题描述】:
是否有可能在 Java 中让 JPanel 跳过绘制其背景,从而除了其上的组件之外是透明的?
【问题讨论】:
标签: java user-interface
是否有可能在 Java 中让 JPanel 跳过绘制其背景,从而除了其上的组件之外是透明的?
【问题讨论】:
标签: java user-interface
setOpaque(false)
它将绘制背景传递给它的父级,父级可能会绘制自己的背景。
您可以进行屏幕截图,然后使用它来绘制面板的背景。
【讨论】:
这篇文章似乎有一些关于如何在 Java 中创建形状和透明窗口的方便信息:
https://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html
【讨论】:
从技术上讲,JPanel 可能一开始是不透明的。 1.5(或 1.4?)中的 Gtk 外观和感觉确实如此,但据我所知,没有其他 PL&F。
【讨论】:
如果您使用的是 NetBeans,请执行以下步骤:-
JPanel。JPanel 背景将被删除,并且将出现在
JPanel 背景是您的JFrame 背景。【讨论】:
class TransparentJPanel extends JPanel
{
TransparentJPanel()
{
super() ;
this.setOpaque( false ) ; // this will make the JPanel transparent
// but not its components (JLabel, TextField etc.)
this.setLayout( null ) ;
}
}
【讨论】: