热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

千锋重庆Java学习分享Java界面开发工具:GUI图形界面开发工具

Java界面开发工具是Java开发工具中不可缺少的,千锋重庆Java的小编就来给大家介绍一下:重量级的图形开发工具——AWT库(java.awt包)java中最先出现的图形开发工具

Java界面开发工具是Java开发工具中不可缺少的,千锋重庆Java的小编就来给大家介绍一下:


重量级的图形开发工具——AWT库(java.awt包)

java中最先出现的图形开发工具,但 AWT 不太受人欢迎。

缺点:

1.失去灵活性。大部分组件含有native code代码。没法根据须要任意改变组件的外观,没法在组件上任意地添加团

2.想要个性化改变 AWT 的控件,须要本身编写 C 语言的 native code 代码,没换一次平台要重写和编译本身的 native code 代码。

控件说明:

1.容器

2.组件

Label 标签,用于显示文本。

 

Button 按钮,点击按钮,会产生 ActionEvent 事件,利用 ActionListener 接口该事件

 

TextField 文本输入框,在这个组件中能够输入文本

 

CheckBox 复选框,提供用户多项选择的组件

 

Choice 下拉式菜单,以菜单的形式提供选择的组件

 

......

 

3.布局管理器

 

BoderLayout 将版面分红五个区域:东、西、南、北、中。能够将组件放入这五个区域中,但每一个区域只能放入一个组件

 

FlowLayout 顺序横向摆放组件,若一行没法摆放全部组件时,下一行接着从左到右的顺序加入组件

 

GridLayout 以行和列的方法排列组件。利用 GridLayout 将版面设置为几行和几列,而后横向顺序加入组件。

 

CardLayout 将容器垂直分层,每一次只放一个组件,把组件放入不一样的层并折叠起来,每次只能看到最上层的组件。

 

GridBagLayout 最具灵活性,能够设置组件放置的具体位置和大小。

 

事件监听与事件处理:

 

1.事件

 

2.事件源

 

3.事件监听

 

捕抓和处理该事件。委托事件模式(Delegation Model),事件源不一样的事件委托给不一样的事件监听类进行监听和处理。这种委托模式的另外一个特色,就是咱们只须要将感兴趣的时间委托给相应的事件监听类,对于那些不须要关心的事件,咱们不须要作任何事情,包括委托。

 

让界面开发更容易——Swing

AWT 没法知足咱们对图形化界面设计的发展需求,所以就有了 Swing。Swing 是在 AWT 的基础上发展起来的,它突破了 AWT 的局限性,也弥补了 AWT 致命的缺陷,它被设计成一个轻量级的图形开发工具。

 

Swing 是个轻量级的图形开发工具,没有 native code,也不依赖操做系统。

 

容器与控件说明

 

容器:

 

1.顶层容器

 

Swing 中的顶层容器包括 JFrame、JApplet、JDialog 和 JWindow。说是顶层的容器,实际上是理解应该是最底层的容器,由于它最接近操做系统。和 Swing 的其余容器相比,顶层容器的特色就是这些容器并不是轻量级容器,还有必定的 native code,Swing须要这些顶层容器和操做系统进行通信。值得注意的是,和 AWT 容器不一样,顶层容器中没法直接加入 JButton 等组件,须要借助其余容器加入顶层容器。

 

2.中间层容器

 

Swing 的中间层容器都是轻量级,包括 JPanel、JScrollPane、JSplitPane 和 JToolBar 等。这些中间层的容器有着本身的特色。例如,JPnael 支持 double buffering 功能,有利于处理动画;JScrollPane 支持滚动的窗口;JSplitPane 能将版面划分为两个区域。

 

3.特殊容器

 

Swing 中特殊容器包括:JInternalFrame 和 JLayeredPane 等。JInternalFrame 的使用几乎和 JFrame 同样,但它是轻量级容器,能够用来创建虚拟界面; JLayeredPane 是一个分层的容器,其实其余的容器都是 JLayeredPane 容器中的一层。

 

Swing 的组件

 

在 AWT 中有的组件,在 Swing 中都有,只是在名字前多加了J,例如 AWT 中 Button 在 Swing 中为 JButton。因为Swing中组件都是轻量级组件,AWT中组件为重量级,仍是那句话,Swing中组件相比AWT,在各方面都有了极大的改善。

 

在实现互动组件方面,Swing 中组件包括 JButton、ComboBox、JList、JMenu、JTextArea 和 JTextField等

 

在显示方面,实现不可编辑的组件包括 JLabel 和 JProgressBar 等组件;实现可编辑的显示组件包括 JColorChooser、JFileChoose、JFileChooser 和 JTable 等。

 

以上就是关于“Java界面开发工具:GUI图形界面开发工具”的介绍



推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • Tkinter Frame容器grid布局并使用Scrollbar滚动原理
    本文介绍了如何使用Tkinter实现Frame容器的grid布局,并通过Scrollbar实现滚动效果。通过将Canvas作为父容器,使用滚动Canvas来滚动Frame,实现了在Frame中添加多个按钮,并通过Scrollbar进行滚动。同时,还介绍了更新Frame大小和绑定滚动按钮的方法,以及配置Scrollbar的相关参数。 ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
  • 初识java关于JDK、JRE、JVM 了解一下 ... [详细]
author-avatar
chen-yu2502881617
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有