JFrame 组件添加或者删除后,如何更新窗口

1 使用 JFrame.validate()函数

2使用 JFrame.pack();

import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Test{
    public static void main(String[] args) {
        Scanner Scr = new Scanner(System.in);
        JButton Jbt = new JButton("OK");
        JFrame Jfr = new JFrame();
        Jfr.setSize(200, 200);
        Jfr.setLocationRelativeTo(null);
        Jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Jfr.setVisible(true);
        Scr.nextLine();
        //这里插入你认为可行的更新JFrame代码
        Jfr.pack();
        Scr.nextLine();
        Jfr.pack();
        //同上
    }
 

}




调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者还不可显示,则在计算首选大小之前都将变得可显示。在计算首选大小之后,将会验证该窗口。


3 利用JFrAM.repaint()

import java.util.Scanner;    
import javax.swing.JButton;    
import javax.swing.JFrame;
import java.awt.*;
public class Test{    
    public static void main(String[] args) {    
        Scanner Scr = new Scanner(System.in);    
        JButton Jbt = new JButton("OK");    
        JFrame Jfr = new JFrame();    
        Jfr.setSize(200, 200);    
        Jfr.setLocationRelativeTo(null);    
        Jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
        Jfr.setVisible(true);    
        Scr.nextLine();    
        Jfr.setSize(250, 250);  
        Jfr.repaint();  
        Scr.nextLine(); 
		Jfr.add(Jbt, BorderLayout.CENTER);
        Jfr.setSize(100, 100);    
        Jfr.repaint();  
    }    
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值