大家好,今天小编关注到一个比较有意思的话题,就是关于java语言awt的问题,于是小编就整理了2个相关介绍Java语言awt的解答,让我们一起看看吧。
备注awt是什么意思?
意思是:
AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是JAVA提供的用来建立和设置Java的图形用户界面的基本工具.AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。
为什么一提到java的swing和awt组件,大家都不建议学?
底层工具
如果需要使用java做底层工具,例如eclipse Java开发工具,可以去学习swing和awt这个是底层工具的基础,后续延伸为OSGI和RPC(基础eclipse的插件开发)和jface也是工具开发
现在java基本都是web开发,前期通过J2ee完成java开发,但是前后端分离后基本就淘汰了,现在前后端分离,java基于服务编程,提供服务接口能力给前端调用。
我说个旁的,
其实我是建议“面向对象”的新手学一学swing这种带可视效果的技术的。
不过如果是为了将来的工作,不建议投入过大精力学习,毕竟使用面太窄。
HTML5和CSS大行其道,交互能力已经非常强大了,浏览器业已成为最复杂也是最强大的客户端,各种终端只需要内嵌个浏览器内核就几乎能支持各种客户端交互需求。Swing和Awt这种JAVA原生的UI技术自然就没有了市场,尤其在互联网领域就更没机会了,F lash不也是被抛弃了。没有市场自然也就没人想学习它了。
早期的java主要是应用在web开发方面,所以从实用的角度出发,确实可以略过AWT和Swing的学习。在移动端开发流行之后,AWT和Swing又成为一个必修的内容了,因为做Android开发如果有一定的AWT基础是比较好的,很多概念是统一的。
为了描述这个问题,我们首先要了解到底什么是AWT,什么是Swing,以及它们与Android开发有什么联系。
java语言第一个支持图形界面开发的API就是AWT,在AWT中定义了java图形界面的很多核心概念,所以要了解java的图形界面开发方式一定要从了解AWT开始。下面分别介绍一下AWT中的三个核心概念:容器、组件、布局。
图形容器是存放图形元素的场所和环境,java中把容器分为顶级容器和次顶级容器。顶级容器可以单独显示、次顶级容器不能单独显示。顶级容器的代表是Frame,次顶级容器的代表是Panel。
图形组件是具体的图形应用元素,比如Button(按钮)、TextField(文本框)、Label(标签)、Choice(下拉列表)等等,每一个图形组件代表一种具体的图形应用元素。
布局的作用是安排图形组件在容器中的排列样式,常见的布局方式有BorderLayout、FlowLayout和GridLayout等。其中BorderLayout是Frame的默认布局管理器,FlowLayout是Panel的默认布局管理器。
具体的图形开发根据不同的界面设计采用不同的容器、布局和组件进行搭配组合,复杂的图形组件遵循顶级容器嵌套次顶级容器的方式来完成。
Swing与AWT相比较最大的优点是轻量级方式,Swing不依赖于本地操作系统,所以在样式上能够进行统一。在写法上采用了在AWT的类名基础上增加一个大写的J字符,比如在AWT中的Frame改为JFrame,Button改为JButton等等。
在实际的开发中比较推荐使用Swing的方式,一个原因是Swing的组件在外观上更具备科技感,另一个原因是它占用的资源较AWT更少。
说到AWT和Swing一定要说一下图形组件的事件处理方式,Java中的事件处理方式采用了监听的方式,也可以称为“代理”的方式。事件处理类通过实现具体的接口来完成对应的事件处理,比如ActionEvent对应的ActionListener接口;KeyEvent对应的KeyListener接口;MouseEvent对应的MouseListener接口和MouseMotionListener接口;WindowEvent对应的WindowListener接口等等。
桌面应用领域不是java所擅长的
在桌面应用领域,主流还是C++,C++有很多的图形界面框架,比如大名鼎鼎的QT,比如落伍的MFC,比如GTK+。
我见过很多公司还在使用MFC,界面非常难看,不过做一些设置软件已经足够了。
也看过很多的公司用QT开发过一些比较好看的桌面应用,不过最后很多都转到了B/S模式。
在手机端,原生应用非常火,但是在桌面应用领域却很少有客户需要开发桌面应用。
一方面是每次更新了应用,客户都需要手动更新,很多用户都不愿意进行更新操作。
另一方面是运维人员,很多的运维维护人员都很痛恨更新客户端,更新客户端经常会有各种莫名其妙的问题的,做过运维的朋友一定明白我的说法,所以经常给用户灌输B/S模式优于C/S模式。
但不管怎么样,C/S模式在国内一点都不流行,我已经见过不少的升级项目就是为了转向B/S。
到此,以上就是小编对于java语言awt的问题就介绍到这了,希望介绍关于java语言awt的2点解答对大家有用。