Java1.0 刚出现时,包含一个用于基本 GUI 编程的类库,Sun 把它叫做抽象窗口工具箱(Abstract Window Toolkit,AWT)。AWT 库处理用户界面元素的方法是把这些元素的创建及其行为委托给每个目标平台(Windows,Solaris,Macintosh等)的本地GUI工具进行处理。不同平台的 AWT 用户界面存在着不同的bug。程序员们必须在每一个平台上测试他们的应用程序,他们因此嘲笑 是一次编写,到处调试。
Swing只是提供了更好的用户界面组件。AWT 的基本体系结构,尤其是事件处理模型,从 Java1.1版后并没有改变。Swing优点:Swing具有更丰富,更方便的用户界面元素集合;Swing对低层平台的依赖更少;因此和平台有关的bug也少的多;Swing给不同平台上的用户一致的感觉。
由Swing开发的GUI界面通常由两种组件构成:
容器组件:用于管理其他界面组件的组件,例如:JFrame,JPanel等。
元素组件:用于构成各种用户界面的组件,例如:JLabel,JTextField等。
容器中组件出现的位置和组件的大小通常由布局管理器控制。每个 Container(比如一个 JPanel 或一个 JFrame)都有一个缺省布局管理器,它可以通过调用 setLayout()来改变。布局管理器负责决定布局策略以及其容器的每一个子组件的大小。
Java编程语言包含下面的布局管理器:
FlowLayout- Panel和Applets的缺省布局管理器
BorderLayout- Window、Dialog 及Frame的缺省管理程序
GridLayout
CardLayout
GridBagLayout
GridBagLayout
与其它布局管理器不一样,FlowLayout布局管理器不限制它所管理的组件的大小,而是允许它们有自己的最佳大小。Flow 布局构造函数参数允许将组件左对齐或右对齐(缺省为居中)。
BorderLayout布局管理器包括五个明显的区域:东、南、西、北、中。
GridLayout布局管理器为放置组件提供了灵活性。用行和列来创建管理器。然后组件就填充到由管理器规定的单元中。比如,由语句 new GridLayout(3,2)创建的有三行两列的GridLayout布局能产生六个单元。
CardLayout 对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,而容器充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout
对象的组件为可见组件。
像 BorderLayout 布局管理器一样,GridLayout 布局管理器中的组件相应的位置不随区域的缩放而改变。只是组件的大小改变。GridLayout布局管理器总是忽略组件的最佳大小。所有单元的宽度是相同的,是根据单元数对可用宽度进行平分而定的。同样地,所有单元的高度是相同的,是根据行数对可用高度进行平分而定的。将组件添加到网格中的命令决定它们占有的单元。单元的行数是从左到右填充,就象文本一样,而列是从上到下由行填充。
除了 Flow、Border、Grid和Card 布局管理器外,核心Java.awt 也提供GridBag 布局管理器。
GridBag布局管理器在网格的基础上提供复杂的布局,但它允许单个组件在一个单元中而不是填满整个单元那样地占用它们的最佳大小。网格包布局理器也允许单个组件扩展成不止一个单元。
JFram与Frame不同的是,在 JFrame中加组件是加在内容窗格里的。如:
Container contentPane=frame.getContentPane(); //用上例中的 frame 对象
JComponent c=…;
contentPane.add(c);
如果你只需要在框架中显示一个 Swing组件,那么你可以用下面的方式把组件放置到内容窗格中。
Frame.setContentPane(c);面板是也是个容器。它可以再放其他的组件。
分享到:
相关推荐
Java GUI(图形用户界面)编程是开发桌面应用程序的重要部分,它可以提供丰富的用户交互体验。炫酷的皮肤包为GUI增加了视觉吸引力,使应用更具个性化。本皮肤包专注于为Java GUI应用提供美观、现代的设计元素,以...
内容概要:通过程序注释带着读者了解GUI界面构建过程,初步了解 java GUI的使用,理解GUI框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:登陆确认、随机出题、题目文本导入等内容实现。 适合人群:具备...
《生命游戏:Java GUI实现与美观界面设计》 生命游戏,又称康威生命游戏,是英国数学家约翰·何顿·康威在1970年提出的一种简单的模拟生命现象的数学模型。在这个游戏中,细胞在二维网格上遵循一套简单的规则进行...
### Java GUI 事件监听知识点详解 #### 一、概述 在Java编程中,图形用户界面(GUI)的设计是一项重要的技能。对于初学者来说,掌握如何创建一个简单的界面,并且能够处理用户交互事件是非常必要的。本篇文章将...
在本项目中,我们将探讨如何使用Java图形用户界面(GUI)技术来实现一个用户登录界面。这个任务适合大学二年级的学生作为编程作业,特别是在学习Java基础和GUI编程时。Java GUI允许开发者创建丰富的、交互式的应用...
本项目中提到的"javaGUI开发的小程序"显然使用了Swing库,因为压缩包文件名中包含“swing”。 Swing是Java Standard Edition (Java SE) 的一部分,它提供了一系列组件(JButton, JTextField, JFrame等)用于构建...
Java GUI超市管理系统是一款基于MySQL数据库和Java编程语言的软件应用,专为课程设计或小型商业环境中的超市管理而开发。这个系统充分利用了Java的图形用户界面(GUI)库,如Swing或JavaFX,来创建直观易用的操作...
Java GUI生成二维码是一种在Java平台上使用图形用户界面(GUI)创建和显示二维码的技术。二维码,全称为二维条形码,是一种高效的信息编码方式,能够存储大量数据,如文本、URL、联系信息等,并且可以被智能手机等...
Java GUI界面的换算工具是一种基于Java编程语言开发的应用程序,它主要用于进行各种物理或非物理单位之间的转换。GUI(图形用户界面)是这个工具的核心部分,它为用户提供了一个直观、友好的操作环境,使用户无需...
Java图形用户界面(GUI)美化包是一套专门用于提升Java应用程序界面美观度的工具和库。在Java中,我们通常使用Java Swing或JavaFX来创建GUI应用,但这些默认的组件样式可能相对朴素,不能满足所有开发者对于界面设计...
Java图形用户界面(GUI,Graphical User Interface)是Java编程中的一个重要组成部分,它允许开发者创建交互式的桌面应用程序。本资源“Java GUI实例下载”提供了一系列关于Java GUI编程的实例,涵盖了事件处理、...
Java GUI程序设计
在这个系统中,我们看到主要技术栈是JAVA GUI(图形用户界面)和SQL Server 2014作为数据库管理系统。下面将详细阐述这些知识点。 首先,JAVA GUI是Java编程语言的一个重要组成部分,用于创建桌面应用的用户界面。...
Java GUI(图形用户界面)是Java编程中一个重要的部分,它允许开发者创建具有交互性的桌面应用程序。本资源包含了一系列的Java GUI源代码,非常适合初学者学习和实践。这些源代码涵盖了多种GUI组件和布局管理器的...
《基于Java GUI编程的医院病房管理系统源码解析》 在当今信息化时代,医院管理系统的开发已经成为提高医疗服务质量、提升工作效率的重要手段。本篇文章将详细解析一个基于Java GUI编程的医院病房管理系统源码,帮助...
在Java编程领域,GUI(图形用户界面)是创建桌面应用程序不可或缺的一部分。本示例程序"Java GUI简单程序"旨在教你如何构建一个基本的GUI界面,同时整合数据库连接、查询功能,并利用JTable来展示查询结果。这是一个...
Java GUI(图形用户界面)与控制台结合的学生成绩管理系统是一个典型的桌面应用程序开发实例,主要利用了Java Swing库来创建交互式的用户界面,并通过控制台进行后台数据处理。在这个项目中,开发者需要掌握以下几个...
Java GUI(图形用户界面)编程是Java开发中的一个重要领域,它允许开发者创建具有交互性的桌面应用程序。本资源“JAVA GUI编程实例集.rar”显然是为初学者设计的,旨在通过实例帮助学习者掌握Java GUI的基本概念和...
Java图形用户界面(GUI,Graphical User Interface)是Java编程中的一个重要部分,它允许开发者创建交互式的桌面应用程序。"Java GUI万能模板"通常是指一套通用的、可复用的代码结构,帮助开发者快速构建GUI应用,...