在Java中,是否有可能使JPanel
跳过它的背景,从而除了它上面的组件之外是透明的?
答案 0 :(得分:36)
setOpaque(false)
它会将背景绘制到其父级,这可能会绘制自己的背景。
您可以进行屏幕捕获,然后使用它来绘制面板的背景。
答案 1 :(得分:6)
本文似乎有一些关于如何在Java中创建形状和透明窗口的方便信息:
http://today.java.net/pub/a/today/2008/03/18/translucent-and-shaped-swing-windows.html
答案 2 :(得分:2)
从技术上讲,JPanel可能会从非混淆开始。对于Gtk外观而言,这是真实的。感觉在1.5(或1.4?),但据我所知没有其他PL& Fs。
答案 3 :(得分:2)
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 ) ;
}
}
答案 4 :(得分:2)
如果您使用的是NetBeans,请执行以下步骤: -
JPanel
。JPanel
背景将被删除以及将显示的内容
JPanel
背景是JFrame
。