Swing 2

我们使用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

Swing 2的相关文章

java Swing局域网聊天软件+ 情侣电脑钢琴

2013年的时候刚刚看完毕向东老师的黑马程序员教程,对swing产生了很浓厚的兴趣,很多朋友应该和我有同样的感受吧!学了这么久java一直都面对 乌漆麻黑的dos窗口搞,终于能做个窗口了,心里好开心的.像看见了光明似的.记得第一次写个程序弹出个Frame的时候心里真的是很激动的.后来我在Swing中花了很多时间去研究,毕竟没有老师指导所以不知道Swing其实也不值得花那么多时间.对于Swing做为了解就好了.有空余时间看看还不错. 不过虽然在Swing耽误了许多时间,但是也做了点东西玩玩咯. 写

Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)

前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的产品! 有机会作Swing软件的开发,让我非常有感觉! 呵呵,希望有机会能够用Java3D编写软件,那种感觉一定更棒! Java和Swing都是杰作.我这个人对别人一向很挑剔的,能够得到我由衷地赞誉,可想而知它们有多优秀了.奇怪的是,它们居然一直都无法占领桌面市场.有人说这是技术的原因.我认为这应该

Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结

Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制.必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的) 2 3. ---java黑头的拖曳..必须有DragEnter事件(单独写 Drop事件是不会具有拖拽功能的) 2 4. 代码 3 5. 参考 5 1. 实现一个D&D操作一般包括三个步骤: 首先实现一个拖拽源,这个拖拽

在Ubuntu上,使用SWT嵌入AWT/SWING代码导致Eclipse崩溃问题

配置:Ubuntu 13.04 + Eclipse4.3 + JRE 7 现象:打开一个内嵌AWT/SWING代码的Eclipse 视图,Eclipse直接挂掉 原因:AWT/SWING和SWT都在访问GTK时都使用了锁去保护自己的线程.AWT使用的GTK的锁,但是SWT使用的自己的锁.在使用SWT访问AWT时,就会出错. 解决办法:在使用SWT访问AWT的代码中将以下代码:      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel

Swing圆角边框的实现

Swing圆角边框实现 Swing圆角边框的实现方法: package com.justplay.basic; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Insets; import javax.swing.border.Border; /**  * Swing  * 设置圆角边框(可以自定义边框的颜色)  * 可以为button,文本框等人以组件添加边框

Swing实现计算器GUI

package swing; import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.

IntelliJ IDEA 开发swing(一)

原文:idea开发swing(一) 最近项目组需要开发一个swing小工具,以下是开发过程. 一.创建工程: 输入工程名称,选择java module,点击next 接下来什么都不选点击finish,项目创建成功. 二.配置项目: 创建的工程目录结构如下: 在src同级目录下增加以下文件夹:classes.config.db.lib.plugin.test:添加以下文件:start.bat.build.xml.如图所示: 选择swingdemo按F4显示工程配置,如图所示: 将output pa

利用Myeclipse创建一个Swing应用

在我看来,java强大之处在于:Java不仅仅适用于B/S架构的程序,是做服务端的不二之选以外;还可以用来做C/S架构的程序.虽然现在市面上越来越少使用这种技术,被诸如C#之类的语言代替,但swing的确可以实现桌面化的客户端程序.学java的最好还是要知道有swing这个东西,不然当老板问你知不知道Swing.你说不知道会很尴尬.我们总监问我和另一个同事知不知道swing,那个小伙子一脸懵逼的看着我......闲话少叙,我们一起来看一下利用Myeclipse怎么创建一个swing程序.首先准备

Java Swing 图形界面实现验证码(验证码可动态刷新)

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Random;import javax.swing.JFrame; public class CheckCode extends JFrame {

Swing中使用JTable动态获取数据库中的数据并显示

笔者注:本文供新手学习使用,若有一定基础,可以直接看3! 1.创建数据库: /* Navicat MySQL Data Transfer Source Server : aa Source Server Version : 50519 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50519 File Encoding : 65001 D