关于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);
希望自己以后不会再犯这种错误!!!
本文介绍了在Java Swing中使用JPanel组件时遇到的布局问题。具体讨论了如何正确应用BorderLayout来实现预期的布局效果,并强调了设置布局管理器的重要性。

1万+

被折叠的 条评论
为什么被折叠?



