前言 桌面GUI(图形用户界面)程序是当今使用广泛的计算机应用程序。在Java语言开发领域,桌面应用程序和C/S结构的企业级分布式网络应用程序都需要设计GUI。以使用类库和代码编写为主的方式设计GUI程序时,设计和运行效果一般靠设计者的经验和形象思维进行预判,对程序员要求比较高,且设想的结果与实际显示结果之间存在一定的差距,设计效率也较低。可视化GUI设计方法易学易用,开发速度快,且能激发学习兴趣。 本书是作者编著出版的“可视化Java GUI程序设计”系列教材之《可视化Java GUI程序设计教程——基于Swing组件库及NetBeans IDE》的更新修订版。本书第1版使用和讲述的NetBeans已于2016年由Oracle公司捐赠给了Apache软件基金会继续开发和维护,Apache NetBeans的界面和功能都有了变化; JDK更新了近十个版本,Java语法也有了发展,使得Java GUI程序可以编写得更为简洁优雅。本书第2版采用Apache NetBeans 12.2开发环境,英文软件界面和Ant项目构建工具; 对例题项目的程序进行了重构改进,将简易学生成绩管理系统中有关数据库的操作全部移到了相关的DAO类中,从而进一步突出了GUI的编程; 同时,程序中使用了switch表达式、Lambda表达方式等Java语言的新语法; 删除了Apache NetBeans目前尚不支持的数据绑定节次; 为精简篇幅、方便教学,删除了较为次要的原第1版中的“第11章 系统资源的使用”。 全书共分为11章。第1章简要介绍GUI的概念、发展和基本组成,介绍Java GUI程序的实现原理,可视化程序设计的概念,开发环境的搭建及其界面。第2章以设计一个简单的用户登录GUI为例,较为详细地介绍了GUI构建器的使用方法和技巧,同时还介绍了标签、文本字段、按钮以及按钮组等基本Swing GUI组件的可视化设计方法。第3章介绍了Java GUI程序的事件处理概念和机制,事件监听器的设计方法,常用事件及其监听器接口的实现方法,使用SwingWorker改进程序GUI反应速度和性能的思路及方法。第4章介绍了AWT和Swing各类主要布局管理器的特点、使用方法和设计技巧,以及Swing填充器组件的使用。第5章介绍了Swing主要容器组件的使用方法、属性设置及应用,多文档界面(MDI)的设计方法,以及工具栏的设计。第6章介绍了对话框、选项窗格、颜色选择器和文件选择器的设计与使用方法。第7章介绍了菜单、各类菜单项和弹出式菜单的设计与使用方法。第8章介绍了文本输入控件、选择控件、数值组件和系统托盘的设计与使用方法。第9章介绍了使用NetBeans IDE操作数据库的方法,Swing表格组件的创建与定制方法,数据库表等表格组件数据源的使用方法。第10章介绍了树组件的构建、树节点设计、路径描述与选择、节点绘制与编辑等内容。第11章对前面各章陆续设计的简易学生成绩管理系统的界面和模块进行了整合,对这些界面和模块进行了程序实现和组装,最终使它们成为一个基本完整的应用系统。曹建英教授修改编写了第2~4章。 学习本书之前需要具备Java程序设计基础。本书的案例代码等教学资源请到清华大学出版社官方网站下载,也可以到超星MOOC在线课程网站下载。 本书内容参考了《Java核心技术 卷Ⅰ: 基础知识/卷Ⅱ: 高级特性 第8版》(Cay S.Horstmann),Java GUI应用程序学习资源https://netbeans.org/kb/trails/matisse_zh_CN.html,mylxiaoyi 网友的博文(mylxiaoyi.blog.chinaunix.net)等,作者在此对他们表示衷心感谢!同时感谢陇东学院为作者提供使用本书讲授Java方向可视化程序设计课程的机会。感谢清华大学出版社 为本书的出版所付出的辛勤劳动。 赵满来 2021年2月