为什么java中添加两个按钮到JFrame中只显示后一个?
我在一个JFrame里面add(newJButton("Button1"));和add(newJButton("Button2"));,最后只显示第二个按钮,这是为啥嘞?...
我在一个JFrame里面 add(new JButton("Button 1"));和add(new JButton("Button 2"));,最后只显示第二个按钮,这是为啥嘞?还有就是,为什么JFrame不能容纳两个按钮,但JPanel却可以??这是什么奇怪的设定?
展开
2个回答
展开全部
import javax.swing.*;
import java.awt.*;
public class P004_BorderLayout {
JFrame jframe;
JButton jb0,jb1, jb2, jb3, jb4, jb5, jb6;
public P004_BorderLayout() {
jframe = new JFrame();
jframe.setTitle("边界布局");
jframe.setBounds(300, 200, 180, 180);
//jframe.setLayout(new FlowLayout());//你可以直接指定jframe的布局,也可以使用jframe默认的边界布局
jb0 = new JButton("东一");
jb1 = new JButton("东");
jframe.add(jb0,BorderLayout.EAST);//
jframe.add(jb1, BorderLayout.EAST);//jframe默认是边界布局,同一个位置放入组件,那么后面的组件覆盖前面的组件
System.out.println(jframe.getLayout());//BorderLayout 边界布局
jb2 = new JButton("西");
jframe.add(jb2, BorderLayout.WEST);
jb3 = new JButton("南");
jframe.add(jb3, BorderLayout.SOUTH);
jb4 = new JButton("北");
jframe.add(jb4, BorderLayout.NORTH);
jb5 = new JButton("中一");
jb6 = new JButton("中二");
JPanel jp = new JPanel();//JPanel默认是流式布局 ,所以就是一个靠近一个的出来
System.out.println(jp.getLayout());//FlowLayout 流式布局
jp.add(jb5);
jp.add(jb6);
jframe.add(jp,BorderLayout.CENTER);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
public static void main(String[] args) {
new P004_BorderLayout();
}
}
BorderLayout 边界布局是JFrame窗口的默认布局 上下左右中,五个方位的布局
FlowLayout 流式布局是JPanel的默认布局 一个靠着一个的布局
2015-11-06
展开全部
应该是你没有给框架进行布局导致的
Jpanel自带为流水布局
Jpanel自带为流水布局
追问
FlowLayout只能显示最后一个添加的组件吗?
追答
不是啊,可以显示所有组件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询