第一个图形界面应用程序。
图形用户界面简称GUI(Graphical User Interface),通过GUI用户可以更好地与计算机进行交互。
Swing简介
Swing工具包提供了一系列丰富的GUI 组件:表控件,列表控件,树控件,按钮,标签等,用来构建图形界面的应用程序,大大增加了程序的可交互性。
swing是一个用于开发java应用程序界面的开发工具包。它以抽象窗口工具包(AWT)为基础,使跨平台应用程序可以使用任何可插拨的外观风格。开发人员只用很少的代码就可以利用swing丰

富,灵活的功能和模块化组件来创建优秀的用户界面,其中包括很多与界面相关的类和接口,是JFC的重要组成部分。JFC是java基础类的简称,它包括一组用于构建图形用户界面(GUI)并添

加丰富图形功能,以及交互性给应用程序的特征。

swing API是很强大的。Swing API一共有18个public类型包。
javax.accessibility
javax.swing
javax.swing.border
javax.swing.colorchooser
javax.swing.event
javax.swing.filechooser
javax.swing.plaf
javax.swing.plaf.basic
javax.swing.plaf.metal
javax.swing.plaf.multi
javax.swing.plaf.synth
javax.swing.table
javax.swing.text
javax.swing.text.html
javax.swing.text.html.parser
javax.swing.text.trf
javax.swing.text.tree
javax.swing.text.undo

swing特点
swing特点如下:包含丰富的组件,程序外观支持,可数据传递,易访问性API,部署支持灵活。
1:丰富的组件
从基本的组件(如按钮和复选框)到丰富复杂的组件(如表和文本)。及时看上去很简单的组件(如文件字段),也能提供复杂的功能(如格式化的文本输入和密码字段行为)。swing还包含

适合大多数需求的文件浏览器和对话框。如果对swing提供的组件不能完全满足要求,则可以利用基本的swing组件功能自定义的组件。
2:程序外观支持(look and feel)
任何使用swing组件的程序都可以选择外观,在swing中,有一个synth包,允许用户创建自己的外观。
java程序可以指定使用其要运行的平台的程序外观,或者指定总是使用java的程序外观。如果不指定,则由UI管理器负责选择适合的程序外观。
3:可传递数据
在实际使用中,几乎所有程序都可以通过剪切,复制 ,粘贴或拖放来传递数据。而swing内置了对数据的支持,可以在一个应用程序的组件之间,java应用程序之间以及java程序和本地程序

之间很好的进行数据传递工作。。
4:易访问性API
残疾人在操作应用程序的时候,需要专门的辅助软件作为中介手段。这样的辅助软件需要获得正在运行的应用程序的大量信息,以便可以替代的媒介形式来表示,如使用屏幕阅读器合成语音

读出屏幕内容,或者通过盲文显示表达内容,使用屏幕放大镜跟踪提示符和键盘焦点;屏幕上显示动态的键盘,用来控制菜单选项、工具栏和对话框控件;语音控制系统使用用户可以通过声

音控制操作。而java的可访问性API使这些辅助软件能够获得所需的信息,并且 通过程序操作构成图形用户界面元素。
5:部署支持灵活
使用java编写的程序,既可以将其创建为Applet小应用程序并使用java插件运行在浏览器窗口中(java插件支持各种类型的浏览器,如IE,Firefox,Safari)也可以使用Java Web Start创建

一个能在浏览器中启动的应用程序。
由swing提供的组件几乎都是轻量级组件。因为轻量级组件是绘制在包含它的容器中的,而不是绘制在自己的窗口中的,所以轻量级组件最终必须包含在一个重量级容量中。

SWING的更多相关文章

  1. 如何使用swing创建一个BeatBox

    首先,我们需要回顾一些内容(2017-01-04 14:32:14): 1.Swing组件 Swing的组件(component,或者称之为元件),是较widget更为正确的术语,它们就是会放在GUI ...

  2. Java Swing interview

    http://www.careerride.com/Swing-AWT-Interview-Questions.aspx   Swing interview questions and answers ...

  3. Swing布局管理器介绍

    创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...

  4. swing with transformjs

    Antecedent Facebook made a HTML5 game long time ago. The opening animation is a piece of software th ...

  5. java swing 双人五子棋源代码

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; impo ...

  6. 用swing也可以做出好看的界面

    用Swing做出的例子:JavaFX做出的界面:后来又做出了自己编写的一套基于Synth的L&F,其与直接在代码中重绘某个组件不同,最大优点是具有可插拔性,即在不改变原有程序代码的情况下,用户 ...

  7. Java界面设计 Swing(1)

    Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...

  8. java基础 swing编程实战

    1. 实现金山词霸,点击左右收缩 效果图: exmaple code : /* * 词霸 * */ package demo7; import java.awt.*; import java.awt. ...

  9. Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解

    Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解   在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中 ...

  10. Swing学习笔记1-----Swing组件类的层次

    1.  从结构上划分 Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显 ...

随机推荐

  1. HTTP POST, PUT PATCH

    POST = 新增 GET = 讀取 PUT = 更新 DELETE = 刪除 PUT 会在地址栏显示参数信息,不安全! 理解POST和PUT的区别,顺便提下RESTfu 这两个方法咋一看都可以更新资 ...

  2. jquery格式化时间戳 2011-01-01

    /*                * 时间戳转换日期                * @param  <int>  unixTime    待时间戳(秒)               ...

  3. 什么是blob,mysql blob大小配置介绍

    什么是blob,mysql blob大小配置介绍 作者: 字体:[增加 减小] 类型:转载   BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计 ...

  4. nginx gzip 模块配置

    #gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_ve ...

  5. 批处理之命令补充II

    网络命令 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" / ...

  6. The Dataflow Model 论文

    A Practical Approach to Balancing Correctness, Latency, and Cost in MassiveScale, Unbounded, OutofOr ...

  7. JS初学者必备的几个经典案例(一)!!!

    一:选中复选框按钮可用    和     倒计时10秒后按钮可用 这是倒计时10秒后按钮可用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  8. Android Gradle 编译错误Java finished with non-zero exit value 2

    出现这个错误主要有两类错误 依赖包重复 方法数超过65K 针对第一种错误,可能是由于build.gradle里写了 compile fileTree(dir: 'libs', include: ['* ...

  9. PHP基础语法: echo,var_dump, 常用函数:随机数:拆分字符串:explode()、rand()、日期时间:time()、字符串转化为时间戳:strtotime()可变参数的函数:PHP里数组长度表示方法:count($attr[指数组]);字符串长度:strlen($a)

    PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 a. 1.substr;  //用于输出字符串中,需要的某一部分 <?PHP $a="learn php"; ...

  10. docker jenkins

    https://segmentfault.com/a/1190000003732967