gpt4 book ai didi

java - 使用 JTextField 和 BoxLayout 设置 Swing 格式

转载 作者:行者123 更新时间:2023-11-30 03:10:39 25 4
gpt4 key购买 nike

JTextField area2 = new JTextField();
JTextField searchtext=new JTextField();
JPanel mainframe = new JPanel();
JButton searchbutton=new JButton("Submit");
JButton registerbutton=new JButton("Login/Register");

mainframe.setLayout(new BoxLayout(mainframe, BoxLayout.Y_AXIS));
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();

p1.setLayout(new BoxLayout(p1, BoxLayout.X_AXIS));
p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
p4.setLayout(new BoxLayout(p4, BoxLayout.X_AXIS));
p1.setBorder(BorderFactory.createTitledBorder("FLIGHT LISTINGS"));
p2.setBorder(BorderFactory.createTitledBorder("SEARCH"));
p3.setLayout(new BoxLayout(p3, BoxLayout.X_AXIS));
p3.setBorder(BorderFactory.createTitledBorder("User Account"));
p3.add(registerbutton);
p2.add(searchtext);
p2.add(searchbutton);

ImageIcon icon = new ImageIcon("map.jpg");
JLabel thumb = new JLabel();
thumb.setIcon(icon);
p4.add(thumb);

mainframe.add(p3);
mainframe.add(p4);
mainframe.add(p2);
mainframe.add(p1);
this.add(mainframe);

这是我的代码,结果似乎总是给我一个看起来很糟糕的输出。我宁愿我的 JTextField 只有 1 行高,而不是那么厚。有人可以告诉我我做错了什么吗?

这是毁灭性的结果:http://imgur.com/XCuDefM

最佳答案

mainframe.setLayout(new BoxLayout(mainframe, BoxLayout.Y_AXIS));

BoxLayout 将根据框架中的可用空间增长组件。因此,如果您的文本字段增长到不合理的大小,则意味着您正在使用:

frame.setSize(...);

并为您的框架提供一些随机尺寸,该尺寸不适合您添加到框架中的组件。

相反,您应该使用:

frame.pack();

并且所有组件都将以其首选尺寸显示。

让布局管理器完成他们的工作,不要为组件分配尺寸。

关于java - 使用 JTextField 和 BoxLayout 设置 Swing 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33704304/

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