添加组件一般都是新建一个JPanel,然后在JPanel上随便添加,可是那样就把背景图片遮盖掉了,有什么办法吗?我试过把JPanel透明,可是没用。
解决方案 »
- 最近在做马士兵的坦克大战,出现一个BUG,八个方向可以移动,却只有5个方向可以发炮弹。。
- 用FileChannel读文件到String的时候,第二次调用这个方法的时候,缓冲器错误
- 如何像Windows的记事本一样,点击【字体】按钮后,弹出一个JDialog,然后在里面设置字体,点确定后生效
- 各位大虾们,如何看人家已经写好的项目源代码,小弟看了一直到现在还是云里来雾里去,能不能教些有效的方法吗?
- JEditorPane的getText()中文问题
- socket的一个问题
- JDBC连接数据库问题(100)
- 看看这个程序,到底是为什么??在同一个类中不能调用方法
- Oracle
- JavaFx之显示一个国际象棋棋盘
- 退出函数
- 问一个新手问题?
第一句调用 super.paintComponent(g);
之后绘制你的背景图
然后frame.getContentPane().add(XXXXXX)调用这个方法
然后添加JPanel,就把原来的图片遮盖掉了
调用 setOpaque(false)试试
其他的控件都加在这个 JPanel 上然后重写这个 JPanel 的 paintComponent 方法最后只要把这个 JPanel 设到 JFrame 上去就好了
setContentPane(xxxxxx);但是要注意的是,如果你在这个 JPanel 上添加的控件完全填满了它,就是把这个 JPanel 都完全覆盖住了
那你在这个 JPanel 上绘制的背景图片还是会显示不出来
除非你把这个 JPanel 上的那些控件也都一个个的设置 setOpaque(false)
要么就重写它的paintComponent方法