使用GUI元素启动一个程序

使用GUI元素启动一个程序

在Java中建立一个GUI程序至少需要三类
对象:
• 组件
• 事件
• 监听器
GUI组件是定义了屏幕元素的一个组件,用它可以显示信息或允许用户以特定的方式与程
序进行交互。例如按钮、文本域、标签、滚动条和菜单等都是GUI组件。 容器是一类特殊的
组件,它可以容纳并组织其他的组件。
事件也是一个对象,它代表引起我们注意的某些事情。通常,事件对应于用户的动作,
例如按下鼠标按钮或是在键盘上键入信息。大多数GUI组件都会生成事件,表示对应于那个
组件的用户动作。例如,按钮组件会生成表示按钮被按下的事件。以GUI为基础的响应来自
用户事件的程序称为事件驱动的程序。
监听器也是一个对象,它“等待”事件的发生,并在事件发生时以某种方式响应它。设
计基于GUI程序的大部分工作就是建立监听器、所监听的事件及产生事件的组件之间的关系。大部分情况下,我们使用Java类库提供的组件和事件。我们将根据组件的功能来做设计,
不过它们的基本角色已事先设计好了。此外我们还将编写自己的监听器类来响应所发生的事件。
所以,要编写使用GUI的程序,必须完成以下几步:
• 实例化并设置必要的组件
• 实现监听器类,定义当具体事件发生时的对策
• 建立监听器与产生事件的组件之间的关系
Java组件和其他与GUI有关的类基本上定义在两个包中: java.awt和javax.swing。(注意
javax.swing中的x)。 抽象窗口工具(Abstract Windowing Toolkit, AWT)是最初的Java GUI
包,它含有我们要用到的许多重要的类。 Swing包是后加的,它提供了比AWT包更通用的组
件。两个包都是开发GUI所必需的,如果两个包有某个相同的组件时,我们选用Swing组件。

创建一个PushCounterPanel类

import javax.swing.JFrame;

public static void main(String[] args) {
	JFrame frame = new JFrame("Push Counter");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	PushCounterPanel panel = new PushCounterPanel();
	frame.getContentPane().add(panel);
	frame.pack();
	frame.setVisible(true);
}

创建一个PushCounterPanel 类

import java.awt.;
import java.awt.event.
;

import javax.swing.*;

public class PushCounterPanel extends JPanel {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private int count;
private JButton push;
private JLabel label;

public PushCounterPanel(){
	count=0;
	
	push = new JButton("Push Me!");
	push.addActionListener(new ButtonListener());
	
	label = new JLabel("Pushes:"+count);
	
	add(push);
	add(label);
	setBackground(Color.cyan);
	setPreferredSize(new Dimension(3000, 400));
}
	
private class ButtonListener implements ActionListener{

	@Override
	public void actionPerformed(ActionEvent event) {
		count++;
		label.setText("Pushes:"+count);
	}
	
}

}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值