当前位置: 首页 > 面试题库 >

JFrame中的图像相互覆盖,彼此之间未同时显示两个图像

邓深
2023-03-14
问题内容

public class Board extends JFrame
{
public void bd()
{

    JFrame frame=new JFrame();
    JLabel background1 = new JLabel(new ImageIcon("background.png"));
    JLabel knight=new JLabel(new ImageIcon("knight.jpg"));
    frame.add(background1);
    frame.add(knight);
    frame.pack();
    frame.setResizable(false);     
    frame.setVisible(true);





    }
}

我的代码遇到了一些麻烦

当我添加骑士图像时,背景图像将消失并且仅出现骑士图像。我如何使图像重叠或使背景图像像背景一样工作


问题答案:

JLabel background1 = new JLabel(new ImageIcon(“background.png”));
JLabel knight=new JLabel(new ImageIcon(“knight.jpg”));
frame.add(background1);
frame.add(knight);

我猜您真正想要的是在顶部(z轴)上显示骑士,因此您需要执行以下操作:

JLabel background1 = new JLabel(new ImageIcon("background.png"));
background.setLayout( new BorderLayout() );
JLabel knight=new JLabel(new ImageIcon("knight.jpg"));
background1.add(knight);
frame.add(background1);

那就是您需要遵循父/子层次结构:

  1. 将背景添加到框架
  2. 将骑士添加到背景中


 类似资料:
  • 问题内容: 我有点卡住。为什么不做这项工作?我只是收到一条错误消息: java.lang.NoSuchMethodError:主要 线程“主”中的异常 问题答案: main需要是静态的,并且必须具有String []而不是String的参数。 为了解决这个问题,将所有东西都放在构造函数中,例如

  • 使用ASP.NET MVC,我正在尝试使用Chart.js库创建一个在单个页面上显示多个条形图的网页。每个图表都有不同的数据,并且是在其自己的部分视图中创建的。虽然没有创建多个不同的图表,但最后一个图表数据覆盖了页面上的第一个图表,所有剩余的图表都显示为空白。如下图所示,“标题和分段”数据和图例覆盖了“制作人”数据,“标题和分段”图表为空。 在主视图页面上,我使用foreach循环为每个报表呈现相

  • 问题内容: 我试图在不显示JFrame本身的情况下将JFrame渲染到图像。我试过使用这段代码: 然而,当这仅适用的设置。这将导致图像显示在屏幕上,这不是我想要的。我也尝试创建类似这样的东西: 但是,这将显示黑色图像(如上面的代码)。我很确定我所追求的是可能的,问题是我真的找不到如何做。我在使用自定义Swing组件方面的经验非常有限,因此任何信息都会受到赞赏。 谢谢。 问题答案: 这是应该解决问题

  • 我想将背景图像添加到Android应用程序的一个屏幕(此图像是照片,因此9-patch将不起作用)。 我想将此图像缩放为各种不同的分辨率。 Android 使用 DPI (即 ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxhdpi、xxxhdpi)组织图像。但是,这在这种特定情况下似乎没有用,因为我想使用覆盖整个屏幕的图像。DPI没有告诉我整个屏幕有多大。例如,xxxhdpi 屏幕的

  • 我的程序在Eclipse中运行完美,但是当我导出它时,图像不显示出来。 我的设置看起来像 我参考标志。来自MenuMain的png。java,我尝试了很多方法; 前3个在Eclipse中工作,但都不在Jar中工作。我检查了Jar文件,res文件夹在那里,所有的图像也是如此。我还尝试编辑MANIFEST. MF并添加了类路径: 但它仍然不起作用。我在运行Jar时没有发现任何错误,其他所有内容都显示在