Java Swing组件

这篇博客详细介绍了Java Swing组件,包括Swing的特点、组件包、常用窗体如JFrame和JDialog,以及各种组件如JLabel、JButton、JRadioButton、JCheckBox、JList、JComboBox、JTextField、JPasswordField和JTextArea。还涵盖了常用布局管理器和事件监听器的使用,如流布局、边界布局、网格布局以及动作事件和焦点事件监听器。
摘要由CSDN通过智能技术生成

Swing组件

Swing概述

GUI(图形用户界面)。Swing是java 1.0中的基础类AWT(抽象窗口工具箱)的增强组件。

Swing特点

原来的AWT组件来自java.awt包,当用其中的组件时,在不同的平台上执行时,显示的GUI组件会有所不同。但使用Swing组件,可以真正实现跨平台,可以指定同一的外观和风格。

  • 轻量级组件: 不依赖操作系统的组件,如:Swing。
  • 重量级组件: 依赖本地平台的组件,如:AWT。组件依赖本地平台的窗口系统。

Swing包

下列是swing包的层级和继承关系。

Created with Raphaël 2.3.0 java.lang.Object类 java.awt.Component类 java.awt.Container类 javax.swing.JComponent类

Swing组件中很多都是Component类的子类或者间接子类,JComponent类是Swing组件各种特性的存放位置。
在Swing组件中最重要的父类就是Container类,而它有两个最重要的子类,java.awt.Window和java.awt.Frame(两个类都是容器)。

常用窗体

JFrame窗体

JFrame窗体是一个容器,它是Swing组件的载体。也只有容器才能存放组件

JFrame继承图:

Created with Raphaël 2.3.0 java.awt.Component类 java.awt.Container类 java.awt.Window类 java.awt.Frame类 javax.swing.JFrame类

JFrame常用构造方法:

  • public JFrame():无名窗体。
  • public JFrame(String title):指定标题的窗体。使用思路

JFrame使用思路:

  1. 继承或实例一个JFrame窗体。
JFrame jf = new JFrame("test");
  1. 将JFrame窗体转为容器。
Container c = jf.getContentPane();
  1. 添加组件至JFrame容器
JButton jb = new JButton("按钮");
c.add(jb);
//移除组件
c.remove(jb);
  1. 窗体设置
//窗体可视化
jf.setVisible(true);
//窗体位置
jf.setBounds(0,0,100,100);
//窗体默认关闭方式
jf.setSetDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

JFrame示例

在这里插入图片描述


JDialog窗体

JDialog窗体是Swing组件中的对话框,实质上是另一种类型的窗体,使用时也需要getConentPane()方法转换为容器。

JDialog继承图:

Created with Raphaël 2.3.0 java.awt.Component类 java.awt.Container类 java.awt.Window类 java.awt.Dialog类 javax.swing.JDialog类

JDialog常用构造方法

  • public JDialog(): 创建一个没有标题和父窗体的对话框。
  • public JDialog(Frame f):创建一个只有标题的对话框。
  • public JDialog(Frame f,String s):创建一个有标题和父窗体的对话框。
  • public JDialog(Frame f,boolean model):创建一个指定类型的对话框,并指明父窗体。
  • public JDialog(Frame f,String s,boolean model):创建一个指定类型、有标题、有父窗体的对话框。

JDialog使用思路

  1. 新建一个父窗体。
public class MyJFrame extends JFrame{
   
	public MyJFrame(){
   
	JFrame jf = new JFrame();//这个类务必属于Frame的子类。
	}
}

  1. 新建一个JDialog窗体。
class MyJDialog{
   
	public MyJDialog(Frame frame){
   
		JDialog jd = new JDialog(frame);//指定父窗体
		jd.setVisible(true);
	}
}

  1. 给父窗体添加按钮组件,按钮的单击事件实例化JDialog窗体。
JButton jb = new JButton("对话框");
jb.addActionListener(new ActionListener(){
   
	public void actionPerformed(ActionEvent e){
   
		new MyJDialog(MyJFrame.this);
	}
});

JDialog示例

在这里插入图片描述
在这里插入图片描述


常用组件

JLabel标签

显示文本或提示信息,支持文本字符串和图标。

JLabel继承图

Created with Raphaël 2.3.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值