关于JPanel的布局显示问题

关于JPanel的布局显示:

 

前几天写一个小程序,用到JPanel,又用到BorderLayout布局,但是写好后发现布局不起作用,思前想后,最后终于被解决;

 

JButton a = new JButton("A button");

JButton b = new JButton("B button");

 

JPanel panel = new JPanel();

panel.add(a, BorderLayout.NORTH);

panel.add(b, BorderLayout.CENTER);

 

结果发现布局不起作用,然后想起JFrame和JPanel的默认布局,JFrame是默认的BorderLayout,可以直接在里面用BorderLayout,但是JPanel默认是FlowLayout,如果想用BorderLayout必须先给其setLayout(new BorderLayout());当使用其他布局时也是一样。

 

更改或如下:

JButton a = new JButton("A button");

JButton b = new JButton("B button");

 

JPanel panel = new JPanel();

panel.setLayout(new BorderLayout());

panel.add(a, BorderLayout.NORTH);

panel.add(b, BorderLayout.CENTER);

 

希望自己以后不会再犯这种错误!!!

 

你可能感兴趣的:(关于JPanel的布局显示问题)