gpt4 book ai didi

java - JLabel 没有显示?

转载 作者:行者123 更新时间:2023-12-02 04:05:47 24 4
gpt4 key购买 nike

我最初创建了一个 JLabel 对象并将其添加到 JFrame 但内容没有显示。我在 stackoverflow 上找到了一篇文章,使用在 JFrame 上显示 JLabel 的容器。我也尝试过,但即使这样也不起作用。我浏览了很多帖子,但找不到任何解决方案。正在显示按钮,但看不到 Jlabel!

Dimension s=new Dimension(400,400);
JFrame l=new JFrame();
l.setSize(s);
l.setResizable(true);
Dimension s1=new Dimension(100,100);
Container me=new Container();
JLabel kingsman=new JLabel ("kingsman");

me.add(kingsman);
l.add(me);

JButton p=new JButton("Goal");
p.setSize(s1);
l.add(p);
//l.pack();
l.setVisible(true);

还有一个问题。当我调用 pack() 函数时,Jframe 被缩小为一个小窗口,而不是我提到的尺寸。请帮忙!

最佳答案

标签不显示的原因是 JFrame 的内容 Pane 使用 BorderLayout 作为其 LayoutManager。当您调用 l.add(me) 然后调用 l.add(p) 时,您实际上是用按钮替换了 Container 实例。尝试将 Container 更改为 JPanel,向其中添加标签和按钮组件,然后将其添加到框架的内容 Pane 中。阅读Layout Managers, too.

以下示例显示一个 JPanel,其中包含使用 JPanel 默认 排列的 JLabelJButton FlowLayout 的 LayoutManager

    JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel content = new JPanel();
content.add(new JLabel("A Label"));
content.add(new JButton("A Button"));

frame.add(content);
frame.pack();
frame.setVisible(true);

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

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