[疯狂Java]Swing

Swing是Java中的一个用于创建桌面应用程序的轻量级GUI工具包。它提供了丰富的组件且独立于平台,使得开发者可以在多种操作系统上获得一致的用户体验。Swing组件遵循MVC设计模式,确保良好的代码组织和维护性,并支持多种外观风格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Swing概述:

    1) Swing采用100%纯Java实现,因此彻底与平台无关,这种不依赖平台的GUI成为轻量级GUI,而和平台有关的AWT则是重量级GUI;

    2) 由于不依赖平台,因此无需像AWT那样组件要取各平台的交集,Swing提供大量丰富、复杂的组件;

    3) 同样由于不依赖平台,因此不会出现和平台相关的Bug,这是从AWT到Swing的一个重大的跨越;

    4) 在各平台上运行具有相同的图形界面;

    5) 所有Swing组件的实现都采用MVC设计模式,其显示逻辑和数据逻辑是完全分离的,强制用户在编写Swing时组件的使用绝对安全合理;

    6) Swing最大的缺点就是速度慢,因为它不再调用本地的API,而用纯Java代码绘制图形,但相对于硬件速度的发展,这种差距会逐渐减小,当要进行跨平台GUI开发时Swing仍然是不二之选;

    7) Swing具有大量的可选外观:

         i. 即Swing组件的外观风格,通俗地讲就是皮肤了;

         ii. 在Swing中叫做LAF,即Look And Feel;

         iii. 要获取当前JRE中所安装的所有LAF可以借助UIManager的方法遍历:

for (UIManager.LookAndFeelInfo info: UIManager.getInstalledLookAndFeels()) {
	System.out.println(info);
}
         iv. 其中最常用的就是Metal和Nimbus,前者吸收了Mac的风格,很美观,后者更加美观;

         v. 在网上还有大量Swing爱好者提供了各种开源的LAF,可以下载使用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值