在Java中,是否可以使JPanel
跳过绘制其背景,从而除了其上的组件之外透明不可见?
setOpaque(false)
setOpaque(false)
会将背景的绘制交给父组件,而父组件可能会自行绘制背景。
您可以进行屏幕截图,然后使用该截图来绘制面板的背景。
从技术上讲,JPanel 可能最初是非透明的。这在 1.5(或 1.4?)中对于 Gtk 外观和感觉来说是正确的,但据我所知,其他 PL&Fs 都不是这样。
如果您正在使用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 ) ;
}
}