目录

概述

Swing是GUI (图形界面) 开发工具包,包含很多内容,这里会介绍Swing中的基本要素,如容器、组键、以及布局

一、常用窗体

JFrame框架窗体

JFrame窗体是一个容器,它是Swing程序中各个组件的载体。语法如下:

JFrame jf = new JFrame(title)

当然,在开发中更常用的方式是通过继承java.swing.JFrame类创建一个窗体,可通过this关键字调用其方法。
而在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器,通常这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自Container类的add()方法进行设置。
至于JPanel容器会在后面提到。

代码实列使用继承java.swing.JFrame类创建一个JFrame对象

    import javax.swing.JFrame;
    import javax.swing.WindowConstants;
     
    public class JFrameDemo extends JFrame{
    		public JFrameDemo(){				//重写构造
			super("JFrameDemo ");			//调用父类构造,传入窗体名称
			this.setSize(500,500);			//设置窗体宽高
			this.setVisible(true);			//设置窗体显示
			this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
} 
         public static void main(String[] args) {
            new JFrameDemo();        		//创建JFRameDemo对象
         }

     }

运行结果如下:
java学习——Swing
这就是一个500*500的窗体,用的是setSize()方法;
标题为"这是一个JFrameDemo";
窗体可视setVisible()方法中的参数为"true"或者"false",默认为false,如果不设置的话窗体不可见
窗体关闭方式为"EXIT_ON_CLOSE",常用的窗体关闭方式有四种,分别为“DO_NOTHING_ON_CLOSE”、“DISPOSE_ON_CLOSE”、“HIDE_ON_CLOSE”、“EXIT_ON_CLOSE”。第一种表示什么也不做就将窗体关闭;第二种表示任何注册监听程序对象后会自动隐藏并释放窗体;第三种表示隐藏窗口的默认窗口关闭;第四种表示退出应用程序默认窗口关闭。

JDialog窗体

JDialog窗体,它的功能是从一个窗体中弹出另一个窗体。

代码实例:

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class JDialogDemo extends JDialog {        // 继承JDialog类
	
    public static void main(String[] args) {
        new JDialogDemo();
    }

    public JDialogDemo() {
        super(new MyJFrame(), "这是一个JDialog窗体", true); // 实例化一个JDialog类窗体,参数为:其父窗体(new MyJFrame调用构造初始化父窗体)、JDialog窗口标题和类型
        Container container = this.getContentPane();	   //将JDialogDemo对象转换为容器
        container.add(new JLabel("JLabel组件"));			   //添加一个JLabel组件
        this.setSize(500, 500);							   //指定JDialog窗体大小
        													//因为没有调用setVisible(true),所以JDialog默认不显示,
        													//而后在MyJFrame的构造中new一个JDialog并调用setVisible显示;
    }
    

}

class MyJFrame extends JFrame {								//继承JFrame类
    public MyJFrame() {										//MyJFrame构造
        this.setVisible(true);								//设置是否显示
        this.setSize(700, 500);								//设置大小
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);	//设置关闭方式
        
        Container container = this.getContentPane();		//转换为容器
        container.setLayout(null);							//设置布局方式
        
        JButton jb = new JButton("点击弹出对话框");        	// 新建一个按钮
        jb.setBounds(30, 30, 200, 50);        				// 设置按钮位置及大小
        jb.addActionListener(new ActionListener() {        // 给按钮添加监听器,用于监听点击事件
            @Override
            public void actionPerformed(ActionEvent e) {
                new JDialogDemo().setVisible(true);			//按钮点击事件,创建一个JDialogDemo窗体,并显示
            }
        });
        container.add(jb);
    }
}

效果如下:

java学习——Swing

未完待续

相关文章:

  • 2021-08-02
  • 2022-12-23
  • 2021-05-23
  • 2021-07-29
  • 2021-10-26
猜你喜欢
  • 2021-08-06
  • 2021-09-14
  • 2022-02-11
  • 2022-12-23
  • 2021-09-20
  • 2021-05-22
  • 2021-10-25
相关资源
相似解决方案