如果要使用Swing创建一个窗口,则可以使用JFrame类即可,JFrame类是Component类(容器类)的实例
JFrame中常用方法:

序号

方法

描述

所属类

1

public JFrame() throws HeadlessException

构造一个初始时不可见的新窗体。

JFrame类

2

public JFrame(String title) throws HeadlessException

创建一个新的、初始不可见的、具有指定标题的 Frame。

JFrame类

3

public void setSize(int width,int height)

调整组件的大小,使其宽度为 width,高度为 height。

继承于Window类

4

public void setSize(Dimension d)

调整组件的大小,使其宽度为 d.width,高度为 d.height。

继承于Window类

5

public void setBackground(Color c)

设置组件的背景色。

继承于java.awt.Frame

6

public void setLocation(int x,int y)

将组件移到新位置。通过此组件父级坐标空间中的 x 和 y 参数来指定新位置的左上角。

继承于java.awt.Window类

7

public void setLocation(Point p)

将组件移到新位置。通过点 p 来指定新位置的左上角。在父级坐标空间中给出点 p。

java.awt.Window

8

public void setVisible(boolean b)

根据参数 b 的值显示或隐藏此组件。

java.awt.Window

9

public Component add(Component comp)

将指定组件追加到此容器的尾部。

java.awt.Container

10

public void setLayout(LayoutManager manager)

设置 LayoutManager。

JFrame类,重写Container类的该方法

11

public void pack()

调整此窗口的大小,以适合其子组件的首选大小和布局

继承于java.awt.Window

12

Container getContentPane()

返回此窗体的 contentPane 对象

JFrame类

创建一个窗口的实例:

import javax.swing.JFrame ;
import java.awt.Color ;
public class JFrameDemo01{
        public static void main(String args[]){
                JFrame f = new JFrame("第一个Swing窗体") ;
                f.setSize(230,80) ;             // 设置组件的大小
                f.setBackground(Color.WHITE) ;  // 将背景设置成白色
                f.setLocation(300,200) ;        // 设置组件的显示位置
                f.setVisible(true) ;            // 让组件可见
        }
};

运行结果:

用java创建一个进程 java创建一个窗口程序(jframe)_Swing


可以看到以上程序运行之后,会直接显示出一个窗体,窗体的名称是:第一个Swing窗体

实例2:

import javax.swing.JButton;
import javax.swing.JFrame ;
import javax.swing.JPanel;
import java.awt.Color ;
import java.awt.Dimension ;
import java.awt.Point ;
public class JFrameDemo02{
    public static void main(String args[]){
        JFrame f = new JFrame("第一个Swing窗体") ; //创建一个窗体
        Dimension d = new Dimension() ;
        d.setSize(400,200) ;
        f.setSize(d) ;                  // 设置组件的大小
        f.setBackground(Color.RED) ;    // 将背景设置成白色
        Point p = new Point(300,200) ;  // 指定组件的显示位置
        JPanel jPanel=new JPanel();
        JButton button1=new JButton("按钮1");
        JButton button2=new JButton("按钮2");
        JButton button3=new JButton("按钮3");
        jPanel.add(button1);//添加一个按钮
        jPanel.add(button2);
        jPanel.add(button3);
        f.add(jPanel);
//      f.pack();//以窗体中组件的大小来显示窗口
        f.setLocation(p) ;              // 设置组件的显示位置
        f.setVisible(true) ;            // 让组件可见
    }
};

在这个实例中创建了一个JPanel(面板),并在面板上添加了三个按钮。

运行效果:

用java创建一个进程 java创建一个窗口程序(jframe)_java_02


pack()方法会按窗体中的组件的实际大小来显示:把上面的f.pack()这一句取消注释:

运行结果:

用java创建一个进程 java创建一个窗口程序(jframe)_java_03


在上面的代码中面板中只能放一个组件,如果重复放的话只显示最后面放入面板中的组件:

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Point;
public class JFrameDemo03
{
    public static void main(String args[])
    {
        JFrame f = new JFrame("第一个Swing窗体"); // 创建一个窗体
        Dimension d = new Dimension();
        d.setSize(400, 200);
        f.setSize(d); // 设置组件的大小
        f.setBackground(Color.RED); // 将背景设置成白色
        Point p = new Point(300, 200); // 指定组件的显示位置
        JButton button1 = new JButton("按钮1");
        JButton button2 = new JButton("按钮2");
        JButton button3 = new JButton("按钮3");
        f.add(button1);// 添加一个按钮
        f.add(button2);
        f.add(button3);
        f.setLocation(p); // 设置组件的显示位置
        f.setVisible(true); // 让组件可见
    }
}

运行结果:

用java创建一个进程 java创建一个窗口程序(jframe)_Swing_04


可以看到这里只显示最后放进去的按钮3