Swing简介
---------------siwuxie095
Swing 简介:
Java Swing 是 Java Foundation Classes(JFC) 的一部分,它是试图解决
AWT 缺点的一个尝试
在
Swing 中,Sun 开发了一个经过仔细设计的、灵活而强大的 GUI 工具包
Swing 是在 AWT 组件基础上构建的。Swing 使用了 AWT 的事件模型和支持类,
如:Colors、Images 和 Graphics
Swing 组件、布局管理器 以及 事件 比 AWT 提供的组件集更为广泛,
完全满足各种开发需求
为了克服在不同主机上行为也会不同的缺点,Swing 将对主机控件的
依赖性降至了最低
实际上,Swing 只为诸如 窗口 和 框架 之类的顶层组件使用对等体
大部分组件(JComponent 及其子类)都是使用 纯Java 代码来模拟的
这意味着
Swing 天生就可以在所有主机之间很好的进行移植
因此,Swing 通常看起来并不像是本地程序。实际上,它有很多外观,
有些模拟不同主机的外观,有些则提供了独特的外观
Swing 的优势:
Swing 对基于对等体的组件使用的术语是重量级(heavyweight),
对于模拟的组件使用的术语是轻量级(lightweight)
实际上,Swing 可以支持在一个 GUI 中混合使用重量级组件和轻量级组件,
如:在一个
JContainer 中混合使用 AWT 和 Swing 控件
除此之外,它还有以下优势:
·
基于
MVC 结构
·
可编程外观
·
呈现器与编辑器强大易用
·
支持以任意顺序构建
GUI
·
可访问性
·
支持自动销毁
·
是标准 Java 的一部分
【made by siwuxie095】
Swing简介的更多相关文章
- java swing简介
java应用程序用户界面开发包 Swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格.Swing开发人员只用很少 ...
- Java界面设计 Swing(1)
Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...
- SWING
第一个图形界面应用程序.图形用户界面简称GUI(Graphical User Interface),通过GUI用户可以更好地与计算机进行交互.Swing简介Swing工具包提供了一系列丰富的GUI 组 ...
- 11-Java 界面设计
(一)Java界面设计概述 1.Java 界面设计的用途 2.AWT 简介 (1)Abstract Windows Toolkit 是最原始的工具包. 3.Swing 简介 4.SWT 简介 5.如何 ...
- 王之泰201771010131《面向对象程序设计(java)》第十二周学习总结
第一部分:理论知识学习部分 第10章 图形程序设计 10.1 AWT与Swing简介 1.用户界面(User Interface) 的概念:用户与计算机系统(各种程序)交互的接口2.图形用户界面(Gr ...
- 201771010134杨其菊《面向对象程序设计java》第十二周学习总结
第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- Java基础——GUI编程(四)
继前面的,这篇主要记录菜单和文件对话框的两个小练习,来熟悉一下方法的应用,一些简单的逻辑和Swing的相关简介,以及关于GUI基础的记录. 一.创建一个菜单 import java.awt.FlowL ...
- 201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结
201871010123-吴丽丽<面向对象程序设计(Java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
随机推荐
- poj 2513 欧拉图/trie
http://poj.org/problem?id=2513 Colored Sticks Time Limit: 5000MS Memory Limit: 128000K Total Submi ...
- 浅谈Vue个性化dashBoard 布局
dashBoard布局在管理系统使用比较多:使用自己喜欢的方式进行自定义布局 使用npm 安装 npm install vue-grid-layout 全局使用 import vueGridLayou ...
- 关于js序列化时间的方法
var time = new Date(); var otime = getMyDate(time); //将毫秒转换成 年月日+时分秒 格式的 (1970-01-11 00:00:00) funct ...
- (转) Android Fragment完全解析,关于碎片你所需知道的一切
我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activity也有它的局限性,同样的界面在手机 ...
- LeetCode OJ:Triangle(三角形)
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- LeetCode OJ:Balanced Binary Tree(平衡二叉树)
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- linux shell 学习笔记--文件测试符
. 文件测试操作 ---------------- 返回true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个re ...
- puppeteer
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); ...
- nodejs 接口跨域
//设置跨域访问 //设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Orig ...
- 四、Jmeter--参数化
一.CSV 参数化 1.我们做性能测试需要并发多个用户,为了真实模拟用户行为,我们需要模拟多个不同的用户登录,这是我们就需要进行参数化.这里我们选择比较常用的参数化方法-CSV Data Set Co ...