问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java编程,为什么唯一一个按钮布满整个窗体?

发布网友 发布时间:2022-04-28 20:05

我来回答

4个回答

热心网友 时间:2022-06-23 00:58

问题不在于java,在于你没有了解java的GUI布局。
AWT和swing下的窗口(对话框)默认布局是BorderLayout,此时容器划分为上北、下南两个窄行,左西右东两个窄列,其余区域为*。在将子部件添加到容器上时,如果指定了区域,会添加到对应的区域的,如:add(button,BorderLayout.SOUTH);如不指定区域,效果是所有未使用的区域将合并为一个区域,新添加的组件在此区域。正如你代码中的添加。
而在此布局下,南北行的高度是子部件自行决定的,就是说子部件高度不变,宽度将被缩放到容器相同的宽度;东西列的子部件宽度不变,高度被缩放到容器除南北行之外的高度;*子部件的宽度高度都被缩放到容器除南北行东西列之外的宽度高度。
若想自己完全控制组件大小,则需要使用自定义布局,如别人的回答中的setLayout(null),不过必须在代码中手动设定每一个子部件的大小和位置,否则子部件使用默认大小0,0和位置0,0,子部件就看不见了。这种方法不推荐。一般是使用其它的布局。比如在窗口中对应区域加入面板,面板的默认布局是流式,将子部件加入到面板而不是窗口,这样保持了子部件的最适合大小。即:
Container c=getContentPane();
JPanel pan=new JPanel();
c.add(pan);
JButton button=new JButton("button");
pan.add(button);
另外,createJFrame方法的第一句根本没有用处,因为你的程序主类就是JFrame子类,当你的程序主类实例化时,JFrame已经潜在地实例化了,就不必另JFrame jf=new JFrame()了。
此时,你的程序主类实例就是一个JFrame,所以我给你的这些代码中getContentPane方法调用直接使用自身(父类JFrame)的方法:Container c=getContentPane();

热心网友 时间:2022-06-23 00:59

因为你的panel窗体布局可能设置成了GridLayout(1,1,0,0);
就是网格布局。1,1代表行数和列数,即一行一列,那么里面的作为唯一的组件自然布满整个窗口。

热心网友 时间:2022-06-23 00:59

要设置一个布局。现在你的代码中没有设置布局管理器,所以默认是BorderLayout布局管理器。BorderLayout是这样布局的:
---------------北------------------
- -
西 中 东
- -
---------------南------------------
每一个字都是一个区域,而这些区域里面使用的是CarLayout布局,就是向区域里面添加东西的时候,组件会占满整个区域,并且后添加的组件会遮挡前面添加的组件。
单纯的使用add方法添加组件时,会默认添加当center(中)区域,调用了两次add。那么后一个组件会遮挡前一个,可以试试后一个组件添加时使用:add(组件,BorderLayout.SOUTH);

热心网友 时间:2022-06-23 01:00

只需加上cont.setBorderLayout(null),然后再设定jb.setBounds(10,10,100,21)即可
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南师足贴的功效和用法是什么 五指运湿膏能减肥吗 清颜六白膏真的管用吗 一个手机号建了两个微信号第一个微信号密码忘了怎么找回 ug最好用的版本是什么 带“沙鸥”的诗句大全(87句) 归计狎沙鸥的意思是什么 指期乘禁马,无暇狎沙鸥。 “无机终日狎沙鸥”的出处是哪里 “无暇狎沙鸥”的出处是哪里 注册香港公司需要怎样的条件? 吃了20年芒果,今天才知道,芒果去皮去核如此简单,不脏手不浪费 java编程求圆形和圆柱体的面积和体积 外国人可以注册香港公司吗?需要什么条件 Java 8会打败Scala吗 注册香港公司流程是怎么样的?需要提供什么资料? 爱快小白路由器如何设置广告 Java中对象有什么用? 学Java到底在实际中能带来商业价值吗 求一份java零基础学习资料,谢谢 注册香港公司需要提供哪些资料?流程怎样? 创建一个Java Application程序,实现流式交互输入输出 香港公司要怎么注册?注册程序是什么? 香港注册公司流程是怎么样的?要准备些什么文件? 香港注册公司流程大概是怎么样的?要什么文件? 猪肥肉具体怎么炼油??、详细办法 猪肥肉怎么炼油才香 小鸡游戏手柄怎样连接海信? 电脑上腾讯会议为什么一打开声音,电脑就蓝屏? 海信7000u55寸怎么连接北通游戏手柄?我总是连不上 香港公司注册大概流程?需要提供什么文件? JAVA编程布局管理器设置问题,很无解!求高手指教。 能把水果打成果汁的那种机器叫什么名字? 最近开始学java,大四的课,老师极度酱油。想自己学下。求学习方法。 hasee u盘启动如何设置 制作PPT中怎么把超出页面外的图形剪掉 如何把插入ppt中的动画超出屏幕部分截掉 怎么投诉域名服务商 注册了域名,不给管理权限,应该去哪里投诉 域名注册商禁止转移域名如何投诉 我的一个域名注册商不给转出怎么办 购买域名成交后被退回 域名想转移不给转移,谁能告诉我投诉域名注册商得地方 域名怎么投诉 以前的网络公司不给转出域名,该怎么办 域名维权?求助?? 我要向国际域名管理中心投诉黑心域名商不让我转出域名。跪求大神帮忙 CN域名在小注册商那不让转出,如何投诉 域名注册商倒闭了怎么办 域名怎样才能被封杀