我们使用Swing构建出了外观形状,但仅仅这样肯定是不够的,关键还要进一步对用户的交互做出响应,这时候我们需要进行事件驱动编程,也就是根据事件发生而执行代码的编程方式。
首先,事件是用于描述发生了什么事情,比如点击按钮、选中文本框等等,Java是使用事件委托模型来处理事件。事件源触发一个事件,但事件源本身并不处理该事件,而是委托给对该事件有兴趣的对象来处理,这个被委托来处理事件的对象,称为事件监听器。常用的监听类包括点击动作的ActionListener、鼠标操作的MouseListener、键盘操作的KeyListener、聚焦操作的FocusListener、窗体操作的WindowListener。
在Swing中,组件的模型被分为两大类。1、GUI状态模型,用于描述GUI控件可视化状态的接口,如按钮是否按下,或列表中哪一项被选中。2、应用数据模型,用于描述具有应用程序含义数据的接口,比如表格中的数据,或列表显示的选项。这些数据模型为Swing提供了一个清晰分割应用程序界面和数据逻辑的强大编程模式。使用模型的swing组件必须提供访问和修改模型的set/get方法。例如,JList使用ListModel接口作为它的模型定义,因此它必须提供一个setModel()方法用于设置模型,一个getModel()方法用于获取模型。所有Swing组件有一个共同点:如果我们不设置它的模型,组件会在内部创建一个缺名称省模型,这些缺省模型类的命名习惯是在接口名称之前加上“default”。
时间: 2024-10-26 00:33:48