`
tsw1107
  • 浏览: 1617 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaSE GUI 笔记

阅读更多


一.AWT(abstract window toolkit)
1.用于java application GUI编程
2.GUI的各中元素(如:窗口、按钮、文本框等)由java类来实现
3.awt涉及的类在java.awt包及其子包中
       awt是旧的图形开发包,因为虽说是跨平台但在各操作系统上的图形表示有区别
       swing是新的图形开发包,其包下的类大都是对awt的类重写,名字多以J开头,如JFrame
4.Container和awt中的两个核心类
5.说明图

Component层次结构图

 


二.Component&Container
1.java的图形用户界面基本的组成部分是Component
2.一般的Component对象不能独立的显示,必须放到Container对象中才可显示
3.Container可以容纳Component,因为Container同时也是Component,所以Container也可以容纳Container.
4.Container使用add(..)方法添加Component
5.常用的两种Container:
   Window:作为顶级窗口独立存在
   Panel:可容纳其他Component,但必须被添加到其他窗口(Window或Applet)才能显示.

 

     Frame:
         1.Frame是Window的子类,由Frame或其子类创建的对象为一个窗体
         2.Frame的构造方法
            Frame()
            Frame(String s)创建标题栏为字符串s的窗口
         3.其他方法
            setBounds(int x,int y, int width,int height)//位置和大小
            setSize(int width,int height)//大小
            setLocation(int x,int y)//位置
            setBackground(Color c)//背景颜色.Color类有很多常量可以使用,(x,y,z)表示颜色红绿蓝分量
            setVisible(boolean b)//是否可见
            setTitle(String name) String getTitle()//标题
            setResizable(boolean b)//是否可调整大小
         练习1:创建一个Frame对象,并给它赋值
         练习2:继承一个Frame的新类,要求一个静态变量统计创建的对象数目,以及其构造函数可以接收多个参数来初始化这个对象,一次显示四个对象

 

     Panel:
         1.可以容纳Component
         2.可以拥有自己的布局管理器
         3.构造方法
             Panel()默认的的布局管理器是FlowLayout
             Panel(LayoutManager mgr)//指定布局管理器来初始化
         4.从父类继承的方法
             setBounds(int x,int y, int width,int height)
             setSize(int width,int height)
             setLocation(int x,int y)
             setBackground(Color c)
             setLayout(LayoutManager mgr)//指定布局管理器
         练习1:将一个Panel添加到Frame中,注意一下Panel的位置
         练习2:将四个Panel添加到Frame中,用颜色来区分,排成两行两列

 

三.布局管理器
1.布局管理器可以管理Component在Container中的布局,不必直接设置Component的位置和大小
2.每个Container都有一个布局管理器对象,当容器需要对某个组件进行定温或判断其大小尺寸时,就会调用其对应的布局管理器,调用Container的setLayout方法改变布局管理器对象
3.常见的五种布局管理器(实现LayoutManager)
  (1)FlowLayout
         不改变组件大小,按组件原有尺寸显示组件,可设置不同组件间距,行距以及对齐方式
         是Panel类的默认布局管理器,默认对其方式为居中
         对组件逐行定温,行内从左到右,一行排满后换行
         构造方法:
               new FlowLayout(FlowLayout.Right,20,40)//设置对齐方式、水平和垂直间距
               new FlowLayout(FlowLayout.Right)//默认水平和垂直间距为5像素
               new FlowLayout()//默认居中的对齐方式,水平和垂直间距为5像素
  (2)BorderLayout
          将整个容器分"东西南北中"五个区域,"南北"在水平方向伸缩,"东西"在垂直方向伸缩,"中"可向水平和垂直方向伸缩
          是Frame类的默认布局管理器
          如果不指定组件添加到哪个区域,则默认加入到"中"区
          每个区域只能加入一个组件,如果多加则先前加入的会被覆盖
  (3)GridLayout
          将空间划分成规则的矩形网格,每个单元的区域大小都一样。
          组件被添加到每个单元格中,先中左到右,再从上到下
          构造方法:
                GridLayout(3,4)
  (4)CardLayout
  (5)GridBagLayout


四.事件监听
1.Listener
     事件模型在awt、swing、jsf和webWork上都有应用
     事件模型的原理与钩子函数、回调函数类似
2.Adapter
     对于的监听器,也有对应的适配器
     使用适配器可以避免监听器类定义没有必要实现的空方法


五.JAVA图形
1.TextField、Label、Button
      学习一个类,办法是写一个测试类测试属性和方法
      练习:编写一个运算器,按"="按钮将两个文本框的值相加,然后显示到第三个文本框,分别使用门面模式或内部类实现监听器接口
     门面模式:通过一个类的引用可以取得该类的属性和方法
2.Graphics
每个Component都有一个paint(Graphics g)实现绘图目的,每次重画该Component时都自动调用paint方法
repaint--调用-->update()--调用--paint()
Graphics类中提供了许多绘图方法,如:
drawRect(int x,int y,int width,int height)
fillRoundRect(int x,int y,int width,int height)


六window事件
事件-事件监听器-事件监听器的命名:XxxEvent-XxxListener-XxxAdapter
MouseEvent-MouseListener-MouseAdapter
WindowEvent-WindowListener-WindowAdapter
练习:测试键盘事件


七内部类:
内部类分成员内部类(作为包装类的成员变量)和匿名类(位于方法参数,例如关闭窗口等执行一次的操作)
非常方便的访问包装类的成员变量或成员方法
不允许或不需要其他类进行访问
当一个类需要实现两个接口,而这两个接口有同样的方法需要实现,则可以在类添加一个内部类来实现不同的接口

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    javaSE经典笔记( 完整)

    以下是对标题“javaSE经典笔记( 完整)”和描述中涉及的Java SE主要知识点的详细阐述: 1. **Java基础**:这是学习Java的第一步,包括Java语言的基本语法,如数据类型(基本类型和引用类型)、变量、运算符、流程...

    javaSE基础笔记(GUI部分)

    Java SE基础笔记主要聚焦在GUI(图形用户界面)部分,这一领域是开发具有交互性桌面应用的核心技术。GUI允许用户通过视觉元素与程序进行交互,如按钮、文本框、菜单等。在这里,我们主要探讨Java如何构建GUI以及相关...

    JavaSE笔记_工具.zip

    这份"JavaSE笔记_工具.zip"压缩包文件显然包含了关于JavaSE学习的重要笔记和可能的辅助工具,旨在帮助学习者从面向对象编程的基础到面向过程编程的转换。 面向对象编程(Object-Oriented Programming,OOP)是...

    JAVASE学习笔记

    ### JAVASE学习笔记 #### 一、Java概述与版本介绍 **1.1 Java的三个版本** - **JavaSE (Standard Edition)**: 标准版,主要用于桌面应用程序的开发。 - **JavaEE (Enterprise Edition)**: 企业版,专为大型企业级...

    达内2011年JAVASE(笔记)

    在达内2011年的JavaSE笔记中,涵盖了Java的基础到进阶的知识点,对于自学者来说是非常宝贵的资源。 首先,Java的特点包括平台无关性(通过Java虚拟机JVM实现),自动内存管理(垃圾回收机制),以及丰富的类库支持...

    javase笔记 很好的知识回顾

    客户端通常使用Java SE提供的GUI工具包,如AWT(AWT, Abstract Window Toolkit)和Swing来构建用户界面。 #### 二、JDK的安装与配置 ##### JDK简介 JDK (Java Development Kit) 是Java开发工具包,包含了编译、运行...

    JavaSE notes,笔记

    最后,JavaSE还包括了JavaFX,一个用于构建桌面GUI应用的库。了解如何使用Scene、Node、Controller等组件构建用户界面,以及CSS样式和动画效果,能够创建美观且交互性强的应用。 总的来说,这份"JavaSE notes,笔记...

    javase全套笔记

    这份"javase全套笔记"包含了从基础到进阶的全方位Java编程知识,是学习和掌握Java编程的重要资源。以下是对笔记中可能涵盖的主要知识点的详细阐述: 1. **Java语言基础**:这部分内容通常包括Java的历史、特点、...

    狂神笔记,b站狂神说课程笔记大全(最新)

    13、JavaSE:Gui编程 14、JavaSE:注解和反射 15、MySQL和JDBC 16、前端:Html5 17、前端:CSS3 18、前端:JavaScript、jQuery 19、JavaWeb 20、MyBatis 21、Spring 22、SpringMVC 23、大前端串讲 24、Vue精讲 25、...

    javase6 学习笔记(李兴华培训课堂笔记所有.)

    JavaSE6学习笔记是针对Java初学者和进阶者的一份宝贵资料,由知名讲师李兴华的培训课堂笔记汇编而成。这份笔记全面、详细地涵盖了Java SE 6版本的核心概念和技术,对于理解Java编程语言的基础以及进阶特性具有重要...

    _JavaSE内部学习笔记

    ### JavaSE内部学习笔记知识点概览 #### 一、Java语言概述 - **1.1 基础常识** - **软件分类**:软件分为系统软件和应用软件两大类。系统软件支持计算机硬件正常工作,包括操作系统、设备驱动程序等;应用软件则...

    javaSE学习用的PPT

    这份"javaSE学习用的PPT"集合提供了全面的学习资源,尤其适合初学者入门。以下将根据压缩包内的文件名,逐一解析其中涉及的Java SE知识点。 1. **100道选择题.doc**:这可能是100个关于Java基础知识的选择题,涵盖...

    javaSE的有关笔记

    然而,由于AWT和Swing在Windows环境下表现不佳,且需要大量内存,它们逐渐被JavaFX等现代GUI框架所取代。 Java的特点包括跨平台性(通过JVM实现),简单性(相比C++等语言),动态性(如JavaScript),面向对象性,...

    传智播客Java SE基础毕向东老师全程笔记

    ### 传智播客Java SE基础毕向东老师全程笔记知识点概览 #### 第一章:编程基础 **Java的特性和优势:** - **简单性:** Java的设计初衷是为了简化编程,减少编码负担。 - **面向对象:** Java是完全面向对象的语言...

    毕老师javase基础班全程笔记

    10. GUI编程、网络编程、反射机制和正则表达式:这些高级主题也是JavaSE中不可或缺的部分,为构建图形用户界面、实现网络通信和开发动态应用提供了工具和方法。 11. 其他技术:笔记中还提到了HTML、CSS和JavaScript...

    JavaSE html+CSS基础笔记归纳.zip

    总结来说,"JavaSE html+CSS基础笔记归纳.zip" 包含的内容是JavaSE的基础知识,HTML和CSS的网页设计,MySQL数据库的使用,以及Java面试的常见问题。对于初学者或复习者来说,这些资料可以帮助巩固基础,提升技能,并...

    GUI编程学习笔记.pdf

    适合JAVASE初学者

Global site tag (gtag.js) - Google Analytics