已有101人关注
为什么我的窗体是空白的,得手动给他拉大组件才会显示出来
发表在Java图书答疑 2020-04-09 悬赏:1 学分 《零基础学Java》第11章 Swing程序设计
是否精华
版块置顶:
package test;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Test2 extends JFrame{   // 让Test2类继承窗体类
	
	public Test2() { // 在构造方法中让Test2做初始化
		
		setBounds(100, 100, 300, 200);			  // 设置窗体位置和大小
		setDefaultCloseOperation(EXIT_ON_CLOSE);  // 设置关闭规则
		setVisible(true);						  // 使窗口可见
	
		
		// 添加组件时要先获取容器
		
		Container c = getContentPane();     // 获取容器
		c.setLayout(new FlowLayout());      // 给容器设置流布局
		
		// 获取容器后就可以添加组件了(使用for循环,来循环添加组件)
		for (int i = 0; i < 10; i++) {
			c.add(new JButton("按钮" + i));   // 循环添加按钮组件
		}
	}
	
	public static void main(String[] args) {
		
		new Test2();
	}

}

执行后:

image.png

拉伸窗体后:

image.png

分享到:
精彩评论 4
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2020-04-13
沙发

最后执行setVisible(true);

锦衣飞鱼
学分:183 LV4
2020-04-13
板凳

根号申 发表于2020-04-13 08:47

最后执行setVisible(true);

为什么要最后执行啊

ywfpclt
学分:577 LV6
2020-04-14
地板

锦衣飞鱼 发表于2020-04-13 11:05

为什么要最后执行啊

setVisible(true);的意思相当于刷新组件,你添加了组件没有刷新那就显示不出来

全部添加完成后,再刷新,那就显示出来了,大体意思是这样,我以前也犯过这个错

锦衣飞鱼
学分:183 LV4
2020-04-14
4L

ywfpclt 发表于2020-04-14 08:31

setVisible(true);的意思相当于刷新组件,你添加了组件没有刷新那就显示不出来

全部添加完成后,再刷新,那就显示出来了,大体意思是这样,我以前也犯过这个错

啊,懂了,谢谢了

首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照