我正在构建一个 Swing 界面,用于在特定图像上绘制叠加层。我有found several examples关于如何在 JPanel 上绘制图像,我能够毫无困难地做到这一点。但是,我想保持该图像完全静态,同时在其上动态绘制叠加层。考虑到这一点,如果我可以将图像设置为面板的永久背景,而不是每次都让 paintComponent()
重新绘制图像,那就更好了。这将特别有用,因为经常会出现这样的情况:我想要removeAll()
面板上当前的图形并重新绘制新图形。
所以我的问题是:有没有办法在 JPanel 中设置永久背景图像,或者每次调用 paintComponent()
时都必须重新绘制图像?
最佳答案
将
Image
作为Icon/ImageIcon
放入JLabel
JLabel hasn't implemented any LayoutManager与
JFrame(BorderLayout)
或JPanel(FlowLayout)
您必须定义正确的
LayoutManager
,接受 PreferredSize 来自其子级然后,随着容器的工作,JPanel 可以访问(几乎)所有方法
关于java - JPanel 上的永久背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363654/