gpt4 book ai didi

java - JTextField 未出现在 JFrame 顶部

转载 作者:行者123 更新时间:2023-12-01 14:07:24 24 4
gpt4 key购买 nike

如何让文本框出现在此 JFrame 上?在 JFrame 本身之上构建所有内容也是一种好的做法吗?还是覆盖 JPanel 并在其上构建所有内容更好?

提前致谢!

public class GUI {

private static JFrame frame = new JFrame("FrameDemo");

public GUI() {

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
BufferedImage myImage = null;
try {
myImage = ImageIO.read(new File("C:/Users/Desktop/background.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

frame.setContentPane(new ImageFrame(myImage));

JTextField field = new JTextField(10);
frame.add(field, BorderLayout.SOUTH);

Dimension dimension = new Dimension();
dimension.setSize(950, 800);
frame.setSize(dimension);

frame.setVisible(true);
}

}

最佳答案

您已将默认内容 Pane 替换为您自己的内容 Pane 。我猜您的内容 Pane 不使用布局管理器,因此文本字段永远不会显示。

尝试如下:

//frame.setContentPane(new ImageFrame(myImage));
ImageFrame content = new ImageFrame(myImage));
content.setLayout( new BorderLayout() );
frame.setContentPane(content);

现在您的文本字段应该添加到图像面板的南部。

Also is it good practice to build everything on top of the JFrame itself? Or is it better to overlay a JPanel and build everything on top of that?

JFrame 的内容 Pane 是 JPanel,因此您做什么并不重要,因为无论哪种方式您都会使用面板。关键是管理内容 Pane 的布局管理器。

关于java - JTextField 未出现在 JFrame 顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794577/

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