图形界面:
布局管理器:
CardLayout:卡片布局,面板重叠放置,只能看到一个,最先添加的会被显示出来,可以进行翻动
两种构造方法:
CardLayout()
创建一个间隙大小为 0 的新卡片布局。
CardLayout(int hgap, int vgap)
创建一个具有指定的水平和垂直间隙的新卡片布局。
常用的方法:
previous(Container parent)
翻转到指定容器的前一张卡片。
show(Container parent, String name)
翻转到已添加到此布局的具有指定 name 的组件
next(Container parent)
翻转到指定容器的下一张卡片。
first(Container parent)
翻转到容器的第一张卡片。
last(Container parent)
翻转到容器的最后一张卡片。
GridBagLayout:增强版的网格布局,组件可以跨行跨列的进行布局。
构造方法:
GridBagLayout()
创建网格包布局管理器。
注意:
该布局管理器的具体实现需要借助GridBagConstraints类,利用GridBagConstraints类的属性对组件进行设置,具体内容查看API文档。
菜单项:
JMenuBar:菜单栏的实现,将JMenu对象添加到菜单栏以构造菜单
构造方法:
JMenuBar()
创建新的菜单栏。
JMenu:菜单的该实现是一个包含JMenuItem的弹出窗口
构造方法:
JMenu(String s)
构造一个新JMenu,用提供的字符串作为其文本。
JMenuItem:菜单中的项的实现,菜单项本质上是位于列表中的按钮
构造方法:
JMenuItem(String text)
创建带有指定文本的JMenuItem。
AWT事件模型:
事件模型的三要素:
事件源(Object):事件的产生者。
事件(EventObject):描述发生了什么事情。
事件监听(EventListener):事件的处理者
关系:
事件只与事件源有关,与事件监听无关
一个事件源可以注册多个事件监听。
一个事件监听器可以在多个事件源中注册。
一个事件源可以就同一类事件注册多个事件监听。
事件处理机制:委派式的处理机制(是一种松耦合)
组件自身会产生事件对象,但本身不一定负责处理,而是交给一个监听者去处理
实现监听的步骤:
a. 实现监听接口implements XxxxListener
b. 重写方法actionPerformed(ActionEvent e)
c. 注册监听addXxxxListener(ActionListener l)
适配器:一个重写了所有接口中方法的类
在java.awt.event包中,会有一些适配器,也就是把相应的XxxxListener,换成XxxxAdapter就是适配器。
在AWT中经常用匿名内部类来继承适配器做监听
观察者模式:
事件监听者对事件源进行监听,事件源会发生某些事件,监听者需要对事件作出相应的处理。
事件监听者(Observer):
处理事件
事件对象(Observable):
注册监听
取消监听
通知监听
编程步骤:
a. 定义一个监听者,使其实现Observer接口,实现其中的方法update(Observable o, Object arg)。
b. 定义一个事件对象,使其继承Observable类,定义一个产生事件的方法,在方法里去注册监听addObserver(Observer o)、标志改变setChanged()(如果不写,则说明该事件没有发生,监听者不会反映)、启动监听notifyObservers()。
注意:注册监听和标志改变不分先后,但标志改变和启动监听是不能互换的。
应用:当某事物发生变化,需要采取行动,则可以采用观察者模式。
适配器模式:
Adapter适配器模式是一种结构型模式,将两个互不兼容的类纠合在一起。
主要应对:由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是,新环境要求的接口是现存对象所不满足的。
作用:在不改变源代码的情况下实现需求。
java.math.BigDecimal:不可变的、任意精度的有符号十进制数。
必须用String类型进行构造,才能实现精确计算
发表评论
-
java设计模式
2012-04-20 16:45 1211一、什么是软件设计模式? 设计模式:是一套被反复使用、多数 ... -
Thread 与Runnab le区别
2012-03-02 14:05 1970大家都知道多线程可以 ... -
I/O流与文件
2012-02-06 15:22 835I/O流 字节输入流:InputStream类为所有 ... -
多线程
2012-02-06 15:23 753多线程: 进程与线程: 进程:同一个操作系统中 ... -
异常与图形界面
2012-02-06 15:23 704异常: 异常的分类 ... -
反射与内部类
2012-02-06 15:24 1029反射: 反射:在运行时动态分析或使用一个类进行工作。 ... -
java集合框架
2012-03-26 19:33 878集合:保存多个其他对象的对象,不能保存简单类型 Li ... -
抽象类与接口
2012-02-05 19:17 733修饰符abstract:抽象 ... -
关键字
2012-02-05 19:14 676修饰符static: 把对 ... -
类与对象
2012-02-05 19:13 685类和对象: 类:主观抽象,是对象的模板,可以实例化对 ... -
java环境配置与基本概念
2012-02-05 19:11 657配置java环境变量: JAVA_HOME:配置JD ... -
运算符、流程控制以及数组
2012-02-05 19:09 791局部变量:不是声明 ... -
登陆界面的开发
2012-01-08 17:36 789在开发登陆界面的前面,我们先须要熟悉和熟练构造方法,构造方法 ... -
类与对象
2012-01-08 16:54 764什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
类与对象
2012-01-08 16:50 749什么是面向对象的编程? OOP:1、在程序中模拟现实世界中的 ... -
java中能当做基本数据类型的类String
2012-01-08 15:47 772String是java中的一个类,而不是一种基 ... -
java虚拟机与java跨平台运行的关系
2012-01-08 15:24 9991、现写一个简单的java小程序 publicv cl ... -
java中的关键字
2011-11-19 23:45 783最近系统的学习了java的关键字,我才发现原来不知 ... -
与java第一次亲密的接触
2011-11-01 21:58 765刚开始学JAVA时,只知道不停的看书。从 ...
相关推荐
综上所述,布局管理器和事件处理代码在GUI编程中起到关键作用。合理运用布局管理器能创建整洁且适应性强的界面,而事件处理代码则让程序具备交互性,提供流畅的用户体验。理解并熟练掌握这些知识点,对于提升软件的...
本篇文章将深入探讨"MFC布局管理器",特别是描述中提到的"盒子布局管理器类CBoxLayout"。 MFC布局管理器的主要目标是简化用户界面元素的布局工作,避免开发者手动计算每个控件的位置和尺寸。布局管理器通过定义不同...
AWT组件提供的6种布局管理器 AWT(Abstract Window Toolkit)组件提供了六种布局管理器,分别是BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout和BoxLayout。这些布局管理器可以帮助开发者更好地...
Qt5中的布局管理器是构建GUI应用程序的核心工具之一,它帮助开发者自动调整控件在窗口中的位置和大小,以适应不同的屏幕分辨率和用户界面需求。本文将深入解析Qt5布局管理器的源码,探讨其工作原理和实现细节。 ...
虽然JSP本身不直接处理GUI布局,但在与Java Swing或JavaFX结合使用时,可以利用上述Java的布局管理器来设计Web应用的桌面客户端部分。 5. **布局管理的实际应用**: - **响应式设计**:通过使用合适的布局管理器,...
标题中的“一款基于Prototype 1.6 的web布局管理器”指的是一个用于Web应用程序的布局解决方案,它构建在Prototype JavaScript库的1.6版本之上。Prototype是一个广泛使用的JavaScript框架,它提供了一系列工具来简化...
【Android布局管理器】是Android应用开发中的核心概念,它决定了UI组件在屏幕上的排列方式。在Android中,布局管理器主要有五种类型:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout...
安卓开发中重要的 UI事件处理与布局管理 ppt教程
"qt_布局管理器_信号与槽"这个主题涵盖了Qt中的两个核心概念:布局管理和信号与槽机制。 **布局管理器** 在Qt中,布局管理器是构建用户界面的重要工具。它们允许开发者自动调整控件的位置和大小,以适应窗口或...
MFC中默认的布局管理器包括CLayoutView、CFormView和CDialog等,它们通常依赖于窗口的尺寸改变消息来调整控件的位置和大小。然而,这些默认的布局管理方式可能无法满足复杂或精细的界面设计需求,尤其是在需要类似...
Java提供了多种内置的布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和GridBagLayout,每种都有其特定的布局策略。开发者可以根据需求选择合适的布局管理器,以实现美观且功能完善的用户界面。 *...
本篇文章将深入探讨MFC中的窗口布局管理器,以及如何通过`ETSLayout.cpp`和`ETSLayout.h`这两个文件实现自定义的布局管理。 首先,MFC中的窗口布局主要由CWnd类及其派生类来处理,如CDialog、CFrameWnd等。这些类...
在Android开发中,为了实现复杂且灵活的布局管理,开发者们常常会利用自定义的布局管理器。"Android蜂巢布局管理器"就是一个这样的工具,它以独特的网格样式展示元素,不仅外观独特,而且提供了优雅的动画效果,使得...
5. 事件处理与焦点管理: Manager类还负责处理用户输入事件,并管理子字段的焦点顺序。通过重写navigationClick()、keyPressed()等方法,可以为每个Manager定义特定的行为。同时,Manager会根据其子字段的顺序决定...
学习这部分内容时,理解每个组件的用途、事件处理的工作原理以及布局管理器的使用是至关重要的。同时,通过编写实践项目,不断尝试和调试,可以帮助加深对这些概念的理解。遇到难点,如内部类和匿名类的应用,需要花...
5. **国际化支持**:考虑到软件的多语言支持,布局管理器可能包含了处理不同语言环境下界面布局调整的逻辑。 使用 `jbcl.jar`,开发者可以创建更专业、更美观且响应性良好的用户界面,特别是在开发大型企业级应用时...
3. 布局管理器:为了更高效地管理复杂的界面布局,MFC引入了布局管理器的概念。例如,CLayoutView类提供了流式布局,可以自动调整控件的顺序和位置。而在提供的"evaLayout"文件中,可能包含了一个自定义的布局管理器...
与Java和Qt的布局管理器类似,MFC提供了CWnd和CDialog派生类的一些方法来实现这一目标,例如`SetWindowPos`、`AdjustRect`和`OnSize`等。 2. **CWnd和CDialog的布局管理** - `CWnd`类是所有窗口对象的基类,包括...
在Java的图形用户界面(GUI)编程中,容器和布局管理器是构建应用程序的重要组成部分。本文将深入探讨JDK1.1的事件处理机制、如何处理各种鼠标与键盘事件,以及事件适配器的使用方法。 首先,让我们来了解图形界面...
在VC++编程环境中,窗口...总的来说,“VC窗口控件布局管理代码”涉及了VC++编程中的MFC框架、自定义控件布局和事件处理等多个知识点。通过理解和应用这些技术,开发者可以创建更加灵活和用户友好的Windows应用程序。