第9章 GUI补充案例.docx

上传人:b****7 文档编号:8727632 上传时间:2023-02-01 格式:DOCX 页数:19 大小:172.16KB
下载 相关 举报
第9章 GUI补充案例.docx_第1页
第1页 / 共19页
第9章 GUI补充案例.docx_第2页
第2页 / 共19页
第9章 GUI补充案例.docx_第3页
第3页 / 共19页
第9章 GUI补充案例.docx_第4页
第4页 / 共19页
第9章 GUI补充案例.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

第9章 GUI补充案例.docx

《第9章 GUI补充案例.docx》由会员分享,可在线阅读,更多相关《第9章 GUI补充案例.docx(19页珍藏版)》请在冰豆网上搜索。

第9章 GUI补充案例.docx

第9章GUI补充案例

第九章GUI

案例9-1AWT事件处理机制

一、案例描述

1、考核知识点

编号:

00109002

名称:

AWT事件处理机制

2、练习目标

掌握如何使用AWT事件处理机制

3、需求分析

事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。

为了让初学者熟悉AWT的事件处理机制,本案例将实现关闭一个窗口的功能。

4、设计思路(实现原理)

1)编写类Example01

2)建立一个窗体,名为“第一个窗体”

3)定义一个类MyWindowListener实现事件监听器的接口WindowListener。

4)通过addWindowListener()方法为事件源注册事件监听器对象。

二、案例实现

import.*;

importclassExample01{

publicstaticvoidmain(String[]args){

;

importclassExample02{

publicstaticvoidmain(String[]args){

;

importclassExample03{

publicstaticvoidmain(String[]args){

finalFramef=newFrame("窗体事件");

(400,300);

(300,200);

(true);

ispose();

}

publicvoidwindowClosed(WindowEvente){

"窗体关闭");

}

});

}

}

运行结果如图9-4所示。

图9-1运行结果

从上图可以看出,当对窗口进行操作时,程序监听到了这些窗体事件。

三、案例总结

在本案例中,通过WindowListener对操作窗口的动作事件进行监听,当接收到特定的动作后,就将所触发事件的名称打印出来。

了解了窗体事件,在以后的编程中,可以根据实际需求,在监听器中自定义窗体的处理事件器。

案例9-4鼠标事件

一、案例描述

1、考核知识点

编号:

00109005

名称:

鼠标事件

2、练习目标

掌握鼠标事件的处理

3、需求分析

在图形用户界面中,用户会经常通过鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件,JDK中提供了一个MouseEvent类用于表示鼠标事件。

为了让初学者熟悉鼠标事件的处理。

本案例将演示如何监听鼠标事件。

4、设计思路(实现原理)

1)编写一个类Example04,创建一个窗口。

2)创建按钮对象,并在窗口添加按钮组件。

3)为按钮添加鼠标事件监听器。

4)运行程序生成窗体,用鼠标操作窗口中的按钮,观察控制台的输出。

二、案例实现

import.*;

importclassExample04{

publicstaticvoidmain(String[]args){

finalFramef=newFrame("鼠标事件");

;

importclassExample05{

publicstaticvoidmain(String[]args){

Framef=newFrame("键盘事件");

(newFlowLayout());

(400,300);

(300,200);

TextFieldtf=newTextField(30);

;

importclassExample06{

publicstaticvoidmain(String[]args){

finalFramef=newFrame("流式布局");

;

publicclassExample07{

publicstaticvoidmain(String[]args){

finalFramef=newFrame("边界布局");

(newBorderLayout());

;

publicclassExample08{

publicstaticvoidmain(String[]args){

Framef=newFrame("网格布局");

(newGridLayout(4,3));

;

classLayoutextendsFrame{

publicLayout(Stringtitle){

GridBagLayoutlayout=newGridBagLayout();

GridBagConstraintsc=newGridBagConstraints();

(layout);

=;

;

import.*;

import定义Cardlayout继承Frame类,实现ActionListener接口

classCardlayoutextendsFrameimplementsActionListener{

PanelcardPanel=newPanel();

;

importclassExample11{

publicstaticvoidmain(String[]args){

finalFrameframe=newFrame("验证码");oCharArray();

StringBuildersb=newStringBuilder();

for(inti=0;i<4;i++){

intpos=;

charc=chars[pos];

(c+"");

}

(),20,30);

;

import.*;

publicclassExample12{

publicstaticvoidmain(String[]args){

JButtonbtn=newJButton("模式对话框");

JFramef=newJFrame("模式对话框测试");

(300,250);

(300,200);

(newFlowLayout());ength==1){

(label);

}

;

publicclassExample13extendsJFrame{

publicExample15(){

("JFrame");

(300,200);

;

import.*;

publicclassExample14extendsJFrame{

publicExample14(){

("滚动面板");

HORIZONTAL_SCROLLBAR_AS_NEEDED);

VERTICAL_SCROLLBAR_ALWAYS);

;

import.*;

publicclassExample15extendsJFrame{

JButtonsendBt;

JTextFieldinputField;

JTextAreachatContent;

publicExample15(){

(newBorderLayout());

chatContent=newJTextArea(12,34);quals("")){

表9-1

;

import.*;

publicclassExample16extendsJFrame{

privateJCheckBoxitalic;

privateJCheckBoxbold;

privateJLabellabel;

publicExample16(){

PLAIN,20));

(label);

;

import.*;

importclassExample17extendsJFrame{

privateButtonGroupgroup;quals(text)){

color=;

}elseif("黄".equals(text)){

color=;

}elseif("蓝".equals(text)){

color=;

}else{

color=;

}

(color);

}

});

}

publicstaticvoidmain(String[]args){

newExample17();

}

}

运行结果如图9-21所示:

图9-2运行结果

三、案例总结

1、本案例中,在JPanel面板中放置了“红”、“黄”、“蓝”三个单选按钮,并为这三个按钮注册监听事件,通过判断这两个按钮是否选中来改变面板的颜色。

2、下表列举了创建JRadioButton对象常见的构造方法。

方法描述

功能说明

JRadioButton()

创建一个没有文本信息、初始状态未被选中的单选框

JRadioButton(Stringtext)

创建一个带有文本信息、初始状态未被选定的单选框

JRadioButton(Stringtext,booleanselected)

创建一个具有文本信息,并指定初始状态(选中/未选中)的单选框。

案例9-18JcomboBox下拉列表框的使用

一、案例描述

1、考核知识点

编号:

00109022

名称:

JComboBox组件

2、练习目标

掌握JComboBox下拉列表的使用方法

3、需求分析

JComboBox下拉列表框,会将所有选项折叠在一起,当用户点击组合框时,会出现下拉式的选择列表。

用户可以从中选择一项并显示。

为了让初学者熟悉JComboBox下拉列表框,本案例将演示JComboBox下拉列表框的用法。

4、设计思路(实现原理)

1)编写类Example18,创建JPanel面板。

2)创建一个组合框并为组合框添加选项。

3)为组合框添加事件监听器,所选择的组合框内容会显示在文本框中。

二、案例实现

import.*;

import.*;

publicclassExample18extendsJFrame{

privateJComboBoxcomboBox;quals(item)){

("");

}else{

("您选择的城市是:

"+item);

}

}

});

field=newJTextField(20);

(comboBox);

;

publicclassExample19extendsJFrame{

publicExample19(){

JMenuBarmenuBar=newJMenuBar();

;

publicclassExample20extendsJFrame{

privateJPopupMenupopupMenu;

publicExample20(){

//创建一个JPopupMenu菜单

popupMenu=newJPopupMenu();

//创建三个JMenuItem菜单项

JMenuItemrefreshItem=newJMenuItem("查看");

JMenuItemcreateItem=newJMenuItem("新建");

JMenuItemexitItem=newJMenuItem("退出");

//为exitItem菜单项添加事件监听器

(newActionListener(){

publicvoidactionPerformed(ActionEvente){

(0);

}

});

//往JPopupMenu菜单添加菜单项

(refreshItem);

(createItem);

();

(exitItem);

//为JFrame窗口添加clicked鼠标事件监听器

(newMouseAdapter(){

publicvoidmouseClicked(MouseEvente){

//如果点击的是鼠标的右键,显示JPopupMenu菜单

if()=={

(),(),());

}

}

});

(300,300);

;

(true);

}

publicstaticvoidmain(String[]args){

newExample20();

}

}

运行程序,生成的窗体如图9-24所示。

图9-3生成的窗体

三、案例总结

1、定义了一个类Example20继承自JFrame。

2、创建了一个JPopupMenu菜单,其增加了refreshItem、createItem和exitItem三个JMenuItem菜单项,菜单项在默认情况下是不可见的,所以要通过调用show(Componentinvoker,intx,inty)方法将菜单项显示出来,参数invoker表示JPopupMenu菜单显示位置的参考组件,x和y表示invoker组件坐标空间中的一个坐标,显示的是JPopupMenu菜单的左上角坐标。

为exitItem菜单项添加了一个ActionListener事件监听器,当点击它时,会退出程序。

代码的第24到31行代码为当前窗口添加了一个鼠标事件监听器,监听鼠标的mouseClicked事件,当鼠标按下时,调用MouseEvent的getButton()判断是否按下了鼠标的右键(BUTTON3),如果是就调用JPopupMenu的show()方法将其显示,并将鼠标点击的坐标作为弹出菜单的左上角坐标。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1