1.Java图形用户界面编程概述

JavaAPI中提供了两套组件用于支持编写图形用户界面:AWT(抽象窗口包)和Swing

2.  容器(Container):重量级容器和轻量级容器(一个容器可以放置多个容器)

A.重量级容器(顶级容器):不能被包含在任何其它容器中,每个包含层次必须从重量级容器开始,继承自AWT的Container

Swing中的重量级容器:JFrame(窗体)、Jdialog(对话框)、JWindom(窗口)、JApplet(小程序)

B.轻量级容器 :可以相互嵌套,继承自Swing类的Jcomponent

Swing中的轻量级容器:JPanel(面板)、JSplitPane(分隔窗格)、JScrollpane(滚动窗格)、JTable(标签窗格)、JToolBar(工具条)

3.  组件(Component)

A.Swing组件:JButton(按钮)、JRadioButton(单选按钮)、JCheckBOx(复选框)、JComboBox(组合框)、JList(列表框)、JTextField(文本框)、JTextArea(纯文本区域)、JMenu(菜单)、JTable(表格)、JTree(树)
B.组件的三要素:内容、外观显示、行为
C.组件在容器中的布局 (使用setLayout()方法来设置布局管理器)

a.  布局管理器分类:流式布局管理器(FlowLayout)、边框布局管理器(BorderLayout)、网格布局管理器(GridLayout)、盒式布局管理器(BoxLayout)

4.创建简单应用程序界面视图

步骤1:创建窗体(JFrame)

JFrame jf = new JFrame(“登陆”);

JFrame的方法:setSize(),setBounds(),setVisible(),setResizable(),setLocationRelative()等

步骤2:设置布局管理

GridLayout  la = new GridLayout(1,3,4,4);

this.setLyout(la);

步骤3:添加组件

JButton jb = new JButton(“”);//按钮

this.add(jb,BorderLayout.WEST);//添加按钮

JPanel jp = new JPanel();//面板

5.事件驱动编程:根据事件发生而执行代码的编程方式

A.  事件:用于描述发生了什么事。。。

B.  事件源:生成一个事件并触发它的组件

6.事件监听器,注册和处理事件

A. 事件监听器:事件源触发一个事件,但是事件源本身并不处理该事件,而是委托给对该事件有兴趣的对象来处理,这个被委托来处理事件的对象称为事件监听器

B. 对于一个对象,要成为某个事件源上的一个事件 的监听器,需要两件事件:

      a.创建一个监听器对象(监听器对象必须是对应的事件监听器接口的实例)
      b.将监听器对象注册到事件源上
7.定义监听器类的可选方法
A.将监听器类定义在单独的类中
B.让GUI程序本身实现监听器接口
C.使用成员内部类定义监听器类
D.使用匿名内部类定义类
8.模型

SwingMVC模型:

MVC的基本思想:模型、视图部分、控制部分

Java图形用户界面编程的更多相关文章

  1. 多线程编程、java图形用户界面编程、Java I / O系统

    线程概述 进程:是一种 “自包容”的运行程序 线程是进程当中的一个概念,最小处理单位 THread类.Runnable接口.Object类 创建新执行线程有两种方法:1:一种方法是将类声明为Threa ...

  2. I/O系统,多线程、图形用户界面编程

    多线程 进程与线程区别: 进程需要分配独立的内存空间:线程在同一内存空间中工作,可以共享同一块内存和系统资源 与Java相关的API: 1)Thread类 方法:start()启动: urn() : ...

  3. 借助WindowBuilder插件轻松完成JAVA图形用户界面编辑

    如果以纯代码的形式进行JAVA的图形用户界面编辑,将是一件非常痛苦的事,博主在学习过程中发现了JAVA GUI编辑神器——WindowBuilder,提供可视化的编辑界面,控件的添加.排版只需使用鼠标 ...

  4. JavaGUI——Java图形用户界面

    1.Java GUI 概述 GUI(Graphical User Interface,简称 GUI,图形用户界面)是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对 ...

  5. Java学习笔记--Java图形用户界面

    AWT:抽象窗口组件工具包 Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包.AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置, ...

  6. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  7. Java第05次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  8. 201671010127 2016-2017-11 Java图形用户界面设计技术

    一.事件处理器 1.什么是事件处理 一个事件要求特定的动作被执行,它被作为消息由外界或系统自身发送给GUI系统.这些事件包括来自计算机设备如鼠标键盘和网络端口的I/O中断,以及GUI系统的逻辑事件触发 ...

  9. java11 - GUI图形用户界面编程

    一.JavaSwing界面设计参考教程 二.布局管理器 三.绝对布局 import java.awt.Color; import java.awt.event.ActionEvent; import ...

随机推荐

  1. Coding iOS客户端应用源码

    Coding是国内的一家提供Git托管服务的产品,它们的客户端提供了项目和任务管理.消息和用户中心,以及一个类似论坛的功能,已经在App Store上线: https://itunes.apple.c ...

  2. 关于react框架的一些细节问题的思考

    目录 setState到底是同步的还是异步的? 如何在子组件中改变父组件的state? context的运用,避免“props传递地狱” 组件类里有私有变量a,它到底改放在this.a中还是this. ...

  3. 发现是在IE6-IE9下,下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerHTML属性是只读的

     table ID="zhutiTable" html2="<tr></tr>": 的数据 setTableInnerHTML(docu ...

  4. 洛谷——P1757 通天之分组背包

    P1757 通天之分组背包 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品 ...

  5. 18/10/19 周五欢乐赛题解(c++版)

    注意本题解并没有去追求最优解,只是用比较暴力的方法求解.D题听说要改说明不是位数30位,目前除了D题可能有问题之外其他代码已经全部正确. A.查找字串 用string BF(暴力求解即可) 代码 #i ...

  6. 思维风暴 codeforces (1060A) Phone Numbers

    这个题我真是我的问题,我看到这种题直接就想着怎么用string去枚举破解,开了一个数组去做结果模拟失败,可能开个stl容器能做的好一点...但是这个题完全不是这样做的...实际上直接比较8的个数和合法 ...

  7. namespace的作用及用法

    namespace 所谓namespace,是指标识符的可见范围.C++标准库中的所有标识符都被定义在一个名为 std 的namespace 中. 一.<iostream>和<ios ...

  8. unigui的菜单树补习【2】treeview

    Treeview用于显示按照树形结构进行组织的数据.           Treeview控件中一个树形图由节点(TreeNode)和连接线组成.TtreeNode是TTreeview的基本组成单元. ...

  9. python爬虫数据解析的四种不同选择器Xpath,Beautiful Soup,pyquery,re

    这里主要是做一个关于数据爬取以后的数据解析功能的整合,方便查阅,以防混淆 主要讲到的技术有Xpath,BeautifulSoup,PyQuery,re(正则) 首先举出两个作示例的代码,方便后面举例 ...

  10. 【Mail.Ru Cup 2018 Round 2 B】 Alice and Hairdresser

    [链接] 我是链接,点我呀:) [题意] [题解] 因为只会增加. 所以. 一开始暴力算出来初始答案 每次改变一个点的话. 就只需要看看和他相邻的数字的值就好. 看看他们是不是大于l 分情况增加.减少 ...