Java界面编程—API
Java 的 GUI 提供的对象都存在 java.awt 和 java.swing 两个包中。
awt :Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能,属重量级控件(跨平台不够强)
swing:在 awt 的基础上,建立的一套图形系统,其中提供了更多的组件,并且完全由 java 实现,增强了可移植性,属于轻量级控件(跨平台很好)
SWT:The Standard Widget Toolkit(标准部件工具包),是 Eclipe 提供的一个开源的 GUI 编程框架。(http://www.eclipse.org/swt/)
Swing基本框架

图形化设计步骤

1. 创建顶层容器
对应于程序的初始显现窗口,窗口中放入其他菜单、工具栏、文本框、按钮等组件。
顶层容器是图形化界面显示的基础,其他所有组件(控件)都是直接或者间接在顶层容器中的。
Java 中,顶层容器有三种:JFrame(框架窗口、即通常的窗口)、JDialog(对话框)、JApplet(用于设计嵌入在网页中的Java小程序)
2. 创建中间容器、组件
对应于程序中出现的菜单、工具栏(中间容器)、文本框、按钮、单选框、复选框等组件。
3. 将组件加入到容器中
在 Java 中创建组件后,还需要将组件放入到相应的容器中,才能在顶层容器,如窗口中显示出组件。
4. 设置容器内组件的位置
组件添加到容器中,还必须设置好组件的显示位置,一般有两种方法来设置组件的显示位置:1)使用布局管理器来管理组件在容器中的位置;2)按照与容器的相对距离(以像素为单位),精确控制组件的位置
5. 处理组件所产生的事件
即用户执行选择菜单、单击按钮等操作时,就要执行相应的命令,进行相关的程序处理,这就需要设置组件的响应动作。
容器的使用
Java 中容器包含顶层容器和中间容器。设计图形化程序必须要有顶层容器
顶层容器是容纳其他组件和中间容器的基础,即设计图形化程序必须要有顶层容器。
JFrame //
JDialog //
JApplet //
中间容器是可以包含其他相应组件的容器,但是中间容器和组件一样,不能单独存在,必须依附于顶层容器。常见的中间容器有:
JPanel // 最灵活、最常用的中间容器。
JScrollPane // 与 JPanel 类似,但还可在大的组件或可扩展组件周围提供滚动条。
JTabbedPane // 包含多个组件,但一次只显示一个组件,用户可以在组件之间方便的切换。
JToolBar // 按行或按列排列的一组组件,通常是按钮
组件的使用
Swing中的UI组件
JApplet // Java.applet.Applet类的扩展,它含有JRootPane的一个实例
JButton // 能显示文本和图形的按钮,它是AWT按钮组件的替代组件
JCheckBox // 能显示文本和图形的复选框,它是AWT选择组件的替代组件
JCheckBoxMenuItem // 一个复选框菜单项,它是AWT的复选框菜单项组件的替代组件
JComboBox // 带下拉列表的文本框,它是AWT选择组件的替代组件
JComponent // 所有轻量J组件的基类
JDesktopPane // 内部窗体的容器
JDialog // Swing对话框的基类,它扩展了AWT Dialot类
JEditorPane // 用于编辑文本的文本窗格
JFrame // 扩展java.awt.Frame的外部窗体
JInternalFrame // 在JDesktopPane中出现的内部窗体
JLabel // 可显示文本和图标的标签,它是AWT标签组件的替代组件
JLayeredPane // 能够在不同层上显示组件的容器
JList // 显示选项列表的组件,它是AWT列表组件的替代组件
JMenu // 菜单条中显示的一个菜单,它是AWT菜单组件的替代组件
JMenuBar // 用于显示菜单的菜单条,它是AWT菜单条组件的替代组件
JMenuItem // 菜单项,它是AWT菜单项组件的替代组件
JOptionPane // 显示标准的对话框,如:消息和问题对话框
JPanel // 通用容器,它是AWT面板和画布组件的替代组件
JPasswordfield // JTextField的扩展,使输入的字符不可见
JPopupMenu // 弹出式菜单,它是AWT弹出式菜单组件的替代组件
JProgressBar // 进度指示器
JRadioButton // 单选按钮,它是AWT复选框组件的替代组件
JRootPane // 顶层容器,它包含一个玻璃窗格,一个层窗格,一个内容窗格和一个可选的菜单条
JScrollBar // 滚动条,它是AWT滚动条组件的替代组件
JScrollPane // 滚动窗格,它是AWT滚动窗格组件的替代组件
JSeparator // 水平或垂直分隔条
JSlider // 滑杆
JSplitPane // 有两个分隔区的容器,这两个分隔区可以水平排列或者垂直排列且分隔区的大小能自动调整
JTabbedPane // 带选项卡的窗格
JTable // 表格
JTableHeader // 表格头
JTextArea // 用于输入多行文本的文本域,它是AWT文本域组件的替代组件
JTestComponent // 文本组件的基类,它替代AWT的TextComponent类
JTextField // 单行文本域,它替代AWT的单行文本域组件
JTextPane // 简单的文本编辑器
JToggleButton // 两种状态的按钮,它是JCheckBox和JRadioButton组件的基类
JToolBar // 工具条
JToolTip // 当光标停留在一个组件上时,该组件上显示的一行文字
JTree // 用于按钮层次组织数据的结构控件
JViesport // 用于浏览可滚动组件的视口
JWindow // 外部窗口,它是java.awt.Window的扩展
实战练习参考:https://www.cnblogs.com/1693977889zz/p/8377461.html
java.awt 包
public class Color extends Object implements Paint, Serializable //
public class Container extends Component //
public class FlowLayout extends Object implements LayoutManager, Serializable //
java.swing 包
public interface Action extends ActionListener //
public class JButton extends AbstractButton implements Accessible //
public class JDialog extends Dialog implements WindowConstants, Accessible, RootPaneContainer //
public class JFrame extends Frame implements WindowConstants, Accessible, RootPaneContainer //
java.util 包
public interface EventListener // 表示接口,所有事件监听器接口必须继承该接口
java.awt.event 包
public class ActionEvent extends AWTEvent //
public interface ActionListener extends EventListener //
Java界面编程—API的更多相关文章
- Java界面编程-建立一个可以画出图形的简单框架
引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...
- 【TCP/IP】之Java socket编程API基础
Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助, 此文讲解Socket的基础编程.Socket用法:①.主要用在进程间,网络间通信. 文章目录如下: ...
- Java界面编程—事件监听机制
组件首先要先注册事件处理器,当用户单击组件.移动鼠标或者敲击键盘时都会产生事件(Event),一旦有时间发生,应用程序就会做出对该事件的响应,这些组件就是事件源(Event source). 接受.解 ...
- java界面编程(3) ------ 控制布局
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在java 中,组件放置在窗口上的方式可能与其它的GUI系统都不同样.首先,它全 ...
- Java 界面编程【03】事件监听
当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数, ...
- Java 界面编程【02】事件注册
聪明出于勤奋,天才在于积累.——华罗庚 对上次的三个问题的个人理解: 1) 程序首先是从main函数开始执行的,假设main 函数不是 static ,就要先实例化这个类,然后调用 main 方法,这 ...
- Java界面编程—事件的种类
Java处理事件相应的类和监听接口大多位于 awt 包中. 在 java.swing.event 包中有专门用于 swing 组件的事件类和监听接口. awt 事件类继承自 AWTEvent,其超类是 ...
- Java界面编程—布局管理
布局是指容器中组件的排列方式 常用的布局管理器 布局管理器名称 所属类包 说明 FlowLayout(流式布局) java.awt 组件按照加入的先后顺序.按照设置的对齐方式从左向右排列,一行排满后到 ...
- java界面编程(8) ------ 组合框(下拉列表)
本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 与一组单选button的功能类似,组合框(下拉列表)也是强制用户从一组可能的元素 ...
随机推荐
- el-js中循环遍历el的集合
遇到问题的代码: var score=0; for(var i=0;i<${fn:length(tMovie.tComments) };i++){ score=${tMovie.tComment ...
- Handling Event
[Handling Event] 1.React events are named using camelCase 2.You must call preventDefault explicitly ...
- destructuring assignment
[destructuring assignment] The destructuring assignment syntax is a JavaScript expression that makes ...
- 【翻译】View Frustum Culling --2 Geometric Approach – Extracting the Planes
在上一篇中,我们知道了视锥体的形状,并且也确定了我们进行裁剪时的步骤.那我们接下来要走的就是确定视锥体的六个平面: near, far, top, bottom, left and right 2.计 ...
- 665. Non-decreasing Array
Given an array with n integers, your task is to check if it could become non-decreasing by modifying ...
- 模拟银行业务的JS实现
/*开户.存款.挂失.补卡.取款.转账.余额查询.密码修改.交易查询.锁定账号.解锁账号等*//*C#第7天 请参考by-Qy*/ using System;using System.Collecti ...
- yaml文件 *.yml 写法简介
YAML(Yet Another Markup Language)(发音 /ˈjæməl/ ) 一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言. 适应场景 脚本语言: ...
- 虚拟机VM下CentOS7部署WASND9+HTTP9
本地操作系统:WIN10(64位) 虚拟机:14.1.1 build-7528167 安装环境:CentOS7 64 软件版本:IM 1.8 WAS 9.0+HTTP9.0 一.安装CentOS7 ...
- 侯捷STL课程及源码剖析学习3: 深度探索容器list
一.容器概览 上图为 GI STL 2.9的各种容器.图中以内缩方式来表达基层与衍生层的关系.所谓的衍生,并非继承(inheritance)关系,而是内含(containment)关系.例如 heap ...
- am start的总结,-d参数的总结,以及python中传递内容包含中文及特殊字符&的解决方案
一.am start的内容的整理 主要包含以下内容:am start的常规操作及参数的含义,-d 参数的含义,以及如何在APK中设置参数获取 使用命令如下:adb shell am start -n ...