在 Swing Java 桌面应用程序中图像无法立即绘制/加载
当我运行使用 Netbean 的 Swing 创建的 Java 桌面应用程序时,JLabel 图标图像会立即加载,但 JPanel 上的背景图像不会绘制到屏幕上,直到我唤醒(重新调整大小)窗口。
这是我的 JPanel 上的自定义代码:
Image image = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/background.gif"));
javax.swing.JPanel panelBackground = new BackgroundPanel(image);
有更好的方法来调用图像吗?我应该实施图像处理代码吗?
我应该如何修复它?
When I run my Java Desktop Application created with Netbean's Swing, the JLabel icon images load right away but the background images on my JPanel don't paint to the screen until I wake-up (re-size) the window.
Here is the custom code on my JPanel:
Image image = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/background.gif"));
javax.swing.JPanel panelBackground = new BackgroundPanel(image);
Is there a better way to call the image? Is there image handling code I should be implementing?
How should I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对我来说效果很好。我使用背景面板对其进行了测试。如果您仍然遇到问题,请发布您的 SSCCE。
Works fine for me. I tested it using the Background Panel. Post your SSCCE if you still have a problem.
知道了!
非常感谢满是鳗鱼的气垫船的指点
并发送给 camickr 供思考代码。
我通过使用以下方法解决了这个问题:
在类的开头创建图像并将其分配给变量,而不是在 JPanels 自定义代码部分中也可以。那是因为图像有更多的时间来创建。
Got it!
Many thanks to Hovercraft Full Of Eels for the pointer
And to camickr for the code to think on.
I resolved it by using:
Creating and assigning the image to the variable at the beginning of my class instead of in the JPanels custom code section also worked. That is because the image had more time to be created..