`
剑锋无刃
  • 浏览: 34011 次
  • 性别: Icon_minigender_1
  • 来自: 长沙市
最近访客 更多访客>>
社区版块
存档分类
最新评论

布局管理器与事件处理

    博客分类:
  • java
阅读更多

 

图形界面:

布局管理器:

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类型进行构造,才能实现精确计算

分享到:
评论

相关推荐

    布局管理器及事件处理代码

    综上所述,布局管理器和事件处理代码在GUI编程中起到关键作用。合理运用布局管理器能创建整洁且适应性强的界面,而事件处理代码则让程序具备交互性,提供流畅的用户体验。理解并熟练掌握这些知识点,对于提升软件的...

    JAVA布局管理器及事件代码处理

    Java是一种广泛使用的面向对象的编程语言,...总的来说,这个压缩包提供的学习材料可以帮助初学者理解Java GUI编程的基础,包括布局管理器的使用和事件处理机制,从而能够创建互动性强、用户体验良好的桌面应用程序。

    MFC布局管理器

    本篇文章将深入探讨"MFC布局管理器",特别是描述中提到的"盒子布局管理器类CBoxLayout"。 MFC布局管理器的主要目标是简化用户界面元素的布局工作,避免开发者手动计算每个控件的位置和尺寸。布局管理器通过定义不同...

    AWT组件提供的6种布局管理器

    AWT组件提供的6种布局管理器 AWT(Abstract Window Toolkit)组件提供了六种布局管理器,分别是BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout和BoxLayout。这些布局管理器可以帮助开发者更好地...

    qt5总中布局管理器的源码

    Qt5中的布局管理器是构建GUI应用程序的核心工具之一,它帮助开发者自动调整控件在窗口中的位置和大小,以适应不同的屏幕分辨率和用户界面需求。本文将深入解析Qt5布局管理器的源码,探讨其工作原理和实现细节。 ...

    使用布局管理器布局界面.rar

    虽然JSP本身不直接处理GUI布局,但在与Java Swing或JavaFX结合使用时,可以利用上述Java的布局管理器来设计Web应用的桌面客户端部分。 5. **布局管理的实际应用**: - **响应式设计**:通过使用合适的布局管理器,...

    一款基于Prototype 1.6 的web布局管理器

    标题中的“一款基于Prototype 1.6 的web布局管理器”指的是一个用于Web应用程序的布局解决方案,它构建在Prototype JavaScript库的1.6版本之上。Prototype是一个广泛使用的JavaScript框架,它提供了一系列工具来简化...

    Android布局管理器

    【Android布局管理器】是Android应用开发中的核心概念,它决定了UI组件在屏幕上的排列方式。在Android中,布局管理器主要有五种类型:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout...

    UI事件处理与布局管理 ppt教程

    安卓开发中重要的 UI事件处理与布局管理 ppt教程

    qt_布局管理器_信号与槽

    "qt_布局管理器_信号与槽"这个主题涵盖了Qt中的两个核心概念:布局管理和信号与槽机制。 **布局管理器** 在Qt中,布局管理器是构建用户界面的重要工具。它们允许开发者自动调整控件的位置和大小,以适应窗口或...

    MFC布局管理,模仿Winform布局控件

    MFC中默认的布局管理器包括CLayoutView、CFormView和CDialog等,它们通常依赖于窗口的尺寸改变消息来调整控件的位置和大小。然而,这些默认的布局管理方式可能无法满足复杂或精细的界面设计需求,尤其是在需要类似...

    jbcl.jar(用于布局管理)

    Java提供了多种内置的布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和GridBagLayout,每种都有其特定的布局策略。开发者可以根据需求选择合适的布局管理器,以实现美观且功能完善的用户界面。 *...

    MFC窗口布局管理器

    本篇文章将深入探讨MFC中的窗口布局管理器,以及如何通过`ETSLayout.cpp`和`ETSLayout.h`这两个文件实现自定义的布局管理。 首先,MFC中的窗口布局主要由CWnd类及其派生类来处理,如CDialog、CFrameWnd等。这些类...

    Android蜂巢布局管理器.zip

    在Android开发中,为了实现复杂且灵活的布局管理,开发者们常常会利用自定义的布局管理器。"Android蜂巢布局管理器"就是一个这样的工具,它以独特的网格样式展示元素,不仅外观独特,而且提供了优雅的动画效果,使得...

    黑莓学习笔记之二--布局管理器Manager

    5. 事件处理与焦点管理: Manager类还负责处理用户输入事件,并管理子字段的焦点顺序。通过重写navigationClick()、keyPressed()等方法,可以为每个Manager定义特定的行为。同时,Manager会根据其子字段的顺序决定...

    图形用户界面设计与事件处理

    学习这部分内容时,理解每个组件的用途、事件处理的工作原理以及布局管理器的使用是至关重要的。同时,通过编写实践项目,不断尝试和调试,可以帮助加深对这些概念的理解。遇到难点,如内部类和匿名类的应用,需要花...

    jbcl.jar,用于布局管理器

    5. **国际化支持**:考虑到软件的多语言支持,布局管理器可能包含了处理不同语言环境下界面布局调整的逻辑。 使用 `jbcl.jar`,开发者可以创建更专业、更美观且响应性良好的用户界面,特别是在开发大型企业级应用时...

    MFC界面编程布局管理

    3. 布局管理器:为了更高效地管理复杂的界面布局,MFC引入了布局管理器的概念。例如,CLayoutView类提供了流式布局,可以自动调整控件的顺序和位置。而在提供的"evaLayout"文件中,可能包含了一个自定义的布局管理器...

    MFC 布局管理例子

    与Java和Qt的布局管理器类似,MFC提供了CWnd和CDialog派生类的一些方法来实现这一目标,例如`SetWindowPos`、`AdjustRect`和`OnSize`等。 2. **CWnd和CDialog的布局管理** - `CWnd`类是所有窗口对象的基类,包括...

    图形界面容器及布局管理器

    在Java的图形用户界面(GUI)编程中,容器和布局管理器是构建应用程序的重要组成部分。本文将深入探讨JDK1.1的事件处理机制、如何处理各种鼠标与键盘事件,以及事件适配器的使用方法。 首先,让我们来了解图形界面...

Global site tag (gtag.js) - Google Analytics