永发信息网

为什么java中添加两个按钮到JFrame中只显示后一个?

答案:2  悬赏:40  手机版
解决时间 2021-02-23 04:09
  • 提问者网友:人傍凄凉立暮秋
  • 2021-02-22 14:08
为什么java中添加两个按钮到JFrame中只显示后一个?
最佳答案
  • 五星知识达人网友:酒安江南
  • 2021-02-22 14:41

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的默认布局          一个靠着一个的布局

全部回答
  • 1楼网友:躲不过心动
  • 2021-02-22 15:22
应该是你没有给框架进行布局导致的
Jpanel自带为流水布局追问FlowLayout只能显示最后一个添加的组件吗?追答不是啊,可以显示所有组件
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯