Java 无法正确设置组件的大小
我制作了一个简单的swing程序来显示文本区域和它下面的一个按钮,但即使在使用setBounds()之后,按钮也会显示在整个画面上。这是我的密码-Java 无法正确设置组件的大小,java,swing,Java,Swing,我制作了一个简单的swing程序来显示文本区域和它下面的一个按钮,但即使在使用setBounds()之后,按钮也会显示在整个画面上。这是我的密码- import javax.swing.*; class Exp2 { public static void main(String... s) { JFrame jf=new JFrame("Exec"); JTextArea jtv=new JTextArea("Hello World"); jtv.setBoun
import javax.swing.*;
class Exp2
{
public static void main(String... s)
{
JFrame jf=new JFrame("Exec");
JTextArea jtv=new JTextArea("Hello World");
jtv.setBounds(5,5,100,60);
JButton jb=new JButton("click");
jb.setBounds(40,160,100,60);
jf.add(jtv);
jf.add(jb);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(500,500);
jf.setResizable(false);
jf.setVisible(true);
}
}
不要使用setBounds()。Swing设计用于布局管理器
框架的默认布局管理器是边框布局
。因此,您不能直接将按钮添加到框架中
相反,您的逻辑应该是:
JButton button = new JButton(...);
JPanel wrapper = new JPanel();
wrapper.add(button);
frame.add(wrapper, BorderLayout.PAGE_START);
JPanel
的默认布局是FlowLayout
,它将以首选大小显示按钮
有关BorderLayout
和FlowLayout
的更多信息,请阅读上Swing教程的部分