?
图形界面程序可以使用各种各样的图形界面元素,如文本框、按钮、列表框、对话框等,我们将这些图形界面元素称为GUI组件,在这些组件上不能容纳其它的组件。
?
容器其实也是一种组件,是一种比较特殊对的组件,它可以用来容纳其他的组件,如窗口、对话框、所有的容器类都是java.awt.Container的直接或间接子类,Container类是Component类的一个子类,由此可见容器本身也具有组件的功能和特点,也可以被当作基本组件一样使用。
?
?
class="java" name="code">import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Demo { public static void main(String[] args) { JFrame f = new JFrame("Simple Swing Application"); // 创建顶级窗口 JButton button = new JButton("Click me!"); // 创建按钮组件 f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); // 按下关闭按钮,结束当前进程 f.getContentPane().add(button); f.setSize(300, 300); f.setVisible(true); // 将顶级窗口设置为可见 } }
?
现在按钮还没有先关功能,在按钮按下后,需要加上鼠标监听事件,代码如下:
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Demo { public static void main(String[] args) { JFrame f = new JFrame("Simple Swing Application"); JButton button = new JButton("Click me!"); /** * 该block增加鼠标监听事件 */ button.addActionListener(new ActionListener(){ // 事件源(注册事件) @Override public void actionPerformed(ActionEvent e) { // 监听 button.setText("I've been clicked!"); } }); f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); f.getContentPane().add(button); f.setSize(300, 300); f.setVisible(true); } }
?
?
?