关于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);
希望自己以后不会再犯这种错误!!!