JAVA图形化界面组件(按钮、标签等)占据整个页面的解决方法

当我在用JAVA写一个图形化界面时,发现了这样一个问题:

当把几个组件添加到页面时,即使之前已经设置好了组件的大小和位置,最后一个组件还是会占据整个界面,覆盖其他的组件!


后加按钮就这样了


先加按钮是这样的?

 

原因是:JFrame默认的Layou为BorderLayout,如果布局为BorderLayout但是使用的是container.add(Component)这个方法,BorderLayout会默认的放在CENTER处。

目前有几种比较可靠的解决方法

第一种:

未设置Layout时,java默认为flowLayout布局的,设置为null即为清空布局管理器,之后添加组件,常常是设置组件左上角坐标相对于容器左上角(0,0)的x,y值来确定组件的位置,即使更改容器大小也不会改变位置。这种方式常常用于窗体大小固定的容器里。

给自己的frame加上一个setlayout

 第二种:

//JButton bu =new JButton(" ");
//bu.setContentAreaFilled(false);		//按键透明
//bu.setBorderPainted(false);		//边框透明
//bu.setEnabled(false);			//不能点击

 在所有的组件之后加上一个全部透明的按钮,这个按钮其实也是填满整个容器的,但是它没有任何的作用.间接实现了这个要求。

第三种:

安排好组件的顺序,例如上面的例子,把按钮放在前面加入即可


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部