本示例说明了如何创建Swing GUI示例,并说明了为什么它是Observer Design Pattern的示例用法。
完整的代码
import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextArea;
public class SimpleSwingExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Frame Title");
final JTextArea comp = new JTextArea();
JButton btn = new JButton("click");
frame.getContentPane().add(comp, BorderLayout.CENTER);
frame.getContentPane().add(btn, BorderLayout.SOUTH);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
comp.setText("Button has been clicked");
}
});
int width = 300;
int height = 300;
frame.setSize(width, height);
frame.setVisible(true);
}}
分步说明
首先,我们需要一个诸如框架,窗口或小程序之类的容器来显示面板,按钮,文本区域等组件。
JFrame frame = new JFrame(“Frame Title”);
创建一些组件,例如面板,按钮,文本区域等。
final JTextArea comp = new JTextArea();JButton btn = new JButton(“click”);
将组件添加到显示区域,并使用LayoutManagers安排其布局。
frame.getContentPane().add(comp,BorderLayout.CENTER);
frame.getContentPane().add(btn, BorderLayout.SOUTH);
将侦听器附加到按钮组件。与组件交互会导致事件发生。要将用户操作与组件相关联,请在其上附加一个侦听器。
这里的addActionListener方法是主题的注册观察者方法。有关观察者设计模式的完整示例,请转到观察者示例。
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
comp.setText(“Button has been clicked”);
}});
侦听器接口用于接收动作事件。对处理动作事件感兴趣的类(在本例中为Main)实现此接口,并且使用该类创建的对象使用组件的addActionListener方法向组件注册。发生动作事件时,将调用该对象的actionPerformed方法。
显示框架。
int width = 300;int height = 300;
frame.setSize(width, height);
frame.setVisible(true);
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,可以加一下我的Java学习交流群:970917008,有时间记得帮我点下转发让跟多的人看到哦。