gpt4 book ai didi

java - 在另一个 JLabel 之上显示一个 JLabel

转载 作者:行者123 更新时间:2023-11-30 05:50:53 26 4
gpt4 key购买 nike

我有以下代码:

try {
File file_background = new File(
"C:\\Users\\xxxx\\Desktop\\background.png");
ImageIcon icon_background = new ImageIcon(
ImageIO.read(file_background));
JLabel background = new JLabel(icon_background);
window.setContentPane(background);

File file_car = new File(
"C:\\Users\\xxxxxx\\Desktop\\car.png");
ImageIcon icon_car = new ImageIcon(ImageIO.read(file_car));

JLabel car = new JLabel(icon_car);
car.setVisible(true);

background.add(car);
// TODO Get car showing on top of the background label

} catch (IOException e) {

e.printStackTrace();
}

我试图让汽车标签显示在背景标签的顶部。但我只显示背景 JLabel。我是 SWING 的新手,所以任何关于我遗漏的步骤的建议都会很棒。

最佳答案

..I want to move it a later stage. But right now I want it to show first :)

有两种方式,

第一。

  • 输入 JLabel carJPanel , 画一个 Image通过使用 paintComponent , 而不是 JLabel background (优点 JPanel 是带有适当通知的容器 LayoutManager )。

  • 输入 JLabel carJLabel background ,但是JLabel还没有实现任何 LayoutManager , 必须设置所需的。

    1. 利用 JLabel 中的所有图片是静态的,与 paintComponent 相比,CPU 和 GPU 影响广告消耗为零.
    2. 劣势JLabel不是容器并且有适当的通知 LayoutManager , 与JLabel 相比需要少一些代码而且放在JPanel , 对于移动 (AbsoluteLayout) 是相当好的解决方案。

第二名。

同时绘制 Images通过使用 BufferedImage and Graphics .

关于java - 在另一个 JLabel 之上显示一个 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com