当我在Java swing中编译我的代码时,我得到了默认的Bounds。占据整个帧大小的按钮。我尝试了3个按钮。首先我把最后一个按钮作为默认值,然后我删除了最后一个按钮,我接下来的两个按钮之一得到默认像以前一样。请帮我解决这个问题。
!(Qazxswpoi)
https://mail.google.com/mail/u/1?ui=2&ik=ee9f500a4d&attid=0.1&permmsgid=msg-a:r2287244781956742986&view=att&disp=safe&realattid=f_jtvo6he20
预期结果:在第3帧中,按钮将并排显示。实际结果:将一个按钮作为默认值。
您在设置布局管理器之前调用import javax.swing.*;
class rough{
public static void main(String args[]){
JFrame f=new JFrame("new");
JButton b1=new JButton("click");
JButton b2=new JButton("Hello");
JButton b3=new JButton("like");
b1.setBounds(20,20,100,50);
b2.setBounds(120,20,100,50);
b3.setBounds(220,20,100,50);
f.add(b1);
f.add(b2);
f.add(b3);
f.setSize(600,600);
f.setVisible(true);
f.setLayout(null);
}
}
,因此GUI使用JFrame的默认BorderLayout显示 - 这意味着只显示最后添加的组件。
一个糟糕的解决方案是首先设置布局。
更好的解决方案是学习并适当地使用布局管理器。
f.setVisible(true)