java - 使用 JLabel 设置背景图像的问题
问题描述
我试图制作迷你游戏,这个游戏可以选择地图。不同的选择,选择不同的地图。每个选择都有自己的地图(背景图片)。对于背景图像,我使用 JLabel 和方法:setIcon()。我的问题是,当我设置图像时,我的所有组件都被隐藏了。这是图片:http: //prntscr.com/qi5m8a(您可以看到只能看到图像)。对于地图选择我使用这种结构,这里是图片:http ://prntscr.com/qi5n4c 有这样的事件播放按钮:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(mapOneRadioButton.isSelected())
{
this.dispose();
GameWindow game = new GameWindow();
game.setVisible(true);
game.setLocationRelativeTo(null);
backgroundLabelGameWin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/main/earthProject.gif")));
}else if(mapTwoRadioButton.isSelected())
{
}else if(mapTreeRadioButton.isSelected())
{
}else if(mapFourRadioButton.isSelected())
{
}else if(mapFiveRadioButton.isSelected())
{
}
}
我使用 JPanel,在其中添加 JLabel 作为背景图像,并使用 JLayeredPanel 作为其余组件。
我的问题/问题是,如何在不破坏框架顺序的情况下更改/设置图像?我的意思是,我想在背景中更改/设置图像,以便可以看到我的所有组件。请帮助我,我不知道如何解决这个问题。
解决方案
如果您更改 JPanel 的背景而不是使用 JLabel 进行图像处理会更好。您不能直接更改 JPanel 的背景。但是您可以参考以下链接来执行此操作 http://www.java2s.com/Code/Java/Swing-JFC/Panelwithbackgroundimage.htm
推荐阅读
- php - 显示外键列名而不是它的 id
- ruby-on-rails - Capybara 自动重访相同的 URL/null
- swift - 向 TableView 内的 CollectionView 添加不同的数据
- google-apps-script - onEdit / onOpen 中的全局变量
- r - 如何折叠文本中的特定模式?
- android-studio - 将 android studio 从 3.6.1 更新到 3.6.2 后 Gradle 构建失败
- python - 用 beautifulsoup 抓取 html id
- amazon-web-services - AWS ec2 实例创建了许多其他资源
- jenkins - 无法将部署降级到容器
- ruby - 从 YAML 配置文件中获取键名