原文: https://javatutorial.net/swing-jframe-basics-create-jframe

本教程介绍了从创建到定制的JFrame基础知识。

什么是JFrame

JFramejava.awt.frame扩展的javax.swing包类,它增加了对 JFC/SWING 组件架构的支持。 这是顶层窗口,带有边框和标题栏。JFrame类具有许多可用于自定义它的方法。

创建一个JFrame

JFrame类具有许多用于创建JFrame的构造函数。 以下是描述。

JFrame():创建一个不可见的框架

JFrame(GraphicsConfiguration gc):创建带有空白标题和屏幕设备的图形配置的框架。

JFrame(String title):创建带有标题的JFrame

JFrame(String title, GraphicsConfiguration gc):创建具有特定Graphics配置和指定标题的JFrame

这是创建JFrame的最简单示例。

  1. package Example;
  2. import java.awt.GraphicsConfiguration;
  3. import javax.swing.JFrame;
  4. public class JFrameExample {
  5. static GraphicsConfiguration gc;
  6. public static void main(String[] args){
  7. JFrame frame= new JFrame(gc);
  8. frame.setVisible(true);
  9. }
  10. }

这是显示方式

SWING `JFrame`基础知识,如何创建`JFrame` - 图1

设置JFrame的标题

要设置JFrame的标题,可以使用JFrame.setTitle(String title)

这是代码

  1. package Example;
  2. import java.awt.GraphicsConfiguration;
  3. import javax.swing.JFrame;
  4. public class JFrameExample {
  5. static GraphicsConfiguration gc;
  6. public static void main(String[] args){
  7. JFrame frame= new JFrame(gc);
  8. frame.setTitle("Welecome to JavaTutorial.net");
  9. frame.setVisible(true);
  10. }
  11. }

这里看起来如何

SWING `JFrame`基础知识,如何创建`JFrame` - 图2

设置JFrame的标题

更改JFrame的窗口大小

要调整框架的大小,JFrame提供了JFrame.setSize(int width, int height)方法,它需要两个参数widthheight。 这是现在的代码外观

  1. package Example;
  2. import java.awt.GraphicsConfiguration;
  3. import javax.swing.JFrame;
  4. public class JFrameExample {
  5. static GraphicsConfiguration gc;
  6. public static void main(String[] args){
  7. JFrame frame= new JFrame(gc);
  8. frame.setTitle("Welecome to JavaTutorial.net");
  9. frame.setSize(600, 400);
  10. frame.setVisible(true);
  11. }
  12. }

调整JFrame的大小

设置JFrame的大小后,您会注意到您仍然可以通过简单地将光标放在角落并拖动它来更改它的大小。 或者,如果按右上角关闭旁边的“调整大小”选项,它将最大化到全屏大小。 发生这种情况是因为默认情况下调整大小设置为true。 您可以简单地将false设置为

JFrame.setResizable(false),现在它将根据您在代码中给定的尺寸显示,并且不会通过图形界面调整大小。

更改屏幕上的位置

要更改JFrame在屏幕上的位置,JFranme提供了一种方法JFrame.setlocation(int x, int y),它使用两个参数x表示沿x轴的位置,y表示沿y轴的位置。 屏幕的左上角是(0, 0)

关闭JFrame

您可以通过单击JFrame左上角的X(十字)来轻松关闭JFrame。 但是JFrame.setDefaultCloseOperation(int)JFrmae类提供的方法,您可以设置当用户单击叉号时将发生的操作。 如果给定参数 0,则即使单击十字,JFrame也不会关闭。

最佳实践是使用JFrame.EXIT_ON_CLOSE,它退出应用程序(JFrame)并释放内存。

JFrame.HIDE_ON_CLOSE:它不会关闭JFrame,只是将其隐藏。

JFrame.DISPOSE_ON_CLOSE:关闭框架,但它继续运行并消耗内存。

JFrame.DO_NOTHING_ON_CLOSE:当用户单击“关闭”时,它什么也不做。

最终代码如下所示

  1. package Example;
  2. import java.awt.GraphicsConfiguration;
  3. import javax.swing.JFrame;
  4. public class JFrameExample {
  5. static GraphicsConfiguration gc;
  6. public static void main(String[] args){
  7. JFrame frame= new JFrame(gc);
  8. frame.setTitle("Welecome to JavaTutorial.net");
  9. frame.setSize(600, 400);
  10. frame.setLocation(200, 200);
  11. frame.setVisible(true);
  12. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  13. frame.setResizable(false);
  14. }
  15. }

您可以从链接下载源代码