gpt4 book ai didi

java - JLabel 未显示在 JFrame 中

转载 作者:行者123 更新时间:2023-11-29 05:06:26 25 4
gpt4 key购买 nike

我已经在 stackoverflow 中搜索过这个问题,但是我无法解决我的问题。所以我有一个简单的图像,我分配给 JLabel 并将该标签添加到 JFrame 但它没有出现。有什么帮助吗? PS:如果我设置的图像与屏幕尺寸不一致,我该如何“重新调整”或像重新缩放一样适应它?

package electricscreen;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;

/**
*
* @author MertKarakas
*/
public class ElectricScreen extends JFrame{

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int) screenSize.getWidth();
int height = (int) screenSize.getHeight();
private String url = "el.jpg";
private ImageIcon img;
private JLabel lbl;

public ElectricScreen() {
setLayout(new FlowLayout());
setSize(width, height);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
img = new ImageIcon(getClass().getResource("/electricscreen/el.jpg"));
lbl = new JLabel(img);
add(lbl);
lbl.setVisible(true);
}
public static void main(String[] args){
ElectricScreen e = new ElectricScreen();
}
}

最佳答案

您正在将组件添加到一个已经可见的 JFrame。在调用 setVisible 之前添加组件(首选 - 您可能还想调用 pack 来布置组件)

add(lbl);
pack();
setVisible(true);

或在添加组件后在 JFrame 上调用 revalidate

setVisible(true);
add(lbl);
revalidate();

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

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