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(); } }