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

序号方法描述所属类
1public JFrame() throws HeadlessException构造一个初始时不可见的新窗体。JFrame类
2public JFrame(String title) throws HeadlessException创建一个新的、初始不可见的、具有指定标题的 Frame。JFrame类
3public void setSize(int width,int height)调整组件的大小,使其宽度为 width,高度为 height。继承于Window类
4public void setSize(Dimension d)调整组件的大小,使其宽度为 d.width,高度为 d.height。继承于Window类
5public void setBackground(Color c)设置组件的背景色。继承于java.awt.Frame
6public void setLocation(int x,int y)将组件移到新位置。通过此组件父级坐标空间中的 x 和 y 参数来指定新位置的左上角。继承于java.awt.Window类
7public void setLocation(Point p)将组件移到新位置。通过点 p 来指定新位置的左上角。在父级坐标空间中给出点 p。java.awt.Window
8public void setVisible(boolean b)根据参数 b 的值显示或隐藏此组件。java.awt.Window
9public Component add(Component comp)将指定组件追加到此容器的尾部。java.awt.Container
10public void setLayout(LayoutManager manager)设置 LayoutManager。JFrame类,重写Container类的该方法
11public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局继承于java.awt.Window
12Container 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) ;            // 让组件可见
        }
};

运行结果:
这里写图片描述
可以看到以上程序运行之后,会直接显示出一个窗体,窗体的名称是:第一个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(面板),并在面板上添加了三个按钮。
运行效果:
这里写图片描述
pack()方法会按窗体中的组件的实际大小来显示:把上面的f.pack()这一句取消注释:
运行结果:
这里写图片描述
在上面的代码中面板中只能放一个组件,如果重复放的话只显示最后面放入面板中的组件:

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); // 让组件可见
    }
}

运行结果:
这里写图片描述
可以看到这里只显示最后放进去的按钮3

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐