GUI练习题.docx
《GUI练习题.docx》由会员分享,可在线阅读,更多相关《GUI练习题.docx(12页珍藏版)》请在冰点文库上搜索。
GUI练习题
图形与用户界面设计
一.选择题
1.Window是宣示屏上独立的本机窗口,它独立于其它容器,Window的两种形式是()
A、Frame和Dialog?
?
?
?
?
?
B、Panel和Frame
C、Container和Component
D、LayoutManager和Container
2.框架(Frame)的缺省布局管理器就是()
A、流程布局(FlowLayout)
B、卡布局(CardLayout)
C、边框布局(BorderLayout)
D、网格布局(GridLayout)
3.java.awt包提供了基本的java程序的GUI设计工具,包含控件、容器和()
A、布局管理器B、数据传送器
C、图形和图像工具D、用户界面构件
4.所有Swing构件都实现了()接口
A、ActionListener?
?
?
B、Serializable
C、AccessibleD、MouseListener
5.事件处理机制能够让图形界面响应用户的操作,主要包括()
A、事件B、事件处理C、事件源D、以上都是
6.Swing采用的设计规范是?
?
?
?
()
A、视图----模式----控制B、模式-----视图---控制
C、控制-----模式----视图D、控制----视图-----模式
7.抽象窗口工具包( )是java提供的建立图形用户界面GUI的开发包.
A、AWTB、SwingC、Java.ioD、Java.lang
8.关于使用Swing的基本规则,下列说法正确的是()
A、Swing构件可直接添加到顶级容器中
B、要尽量使用非Swing的重要级构件
C、Swing的JButton不能直接放到Frame上
D、以上说法都对
9.下列不属于java.event包中定义的事件适配器的是( )
A、构件适配器B、焦点适配器
C、键盘适配器D、标签适配器
10.( )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。
A、FlowLayoutB、BorderLayout
C、GridLayoutD、CardLayout
11.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变()
A、CardLayout B、FlowLayout
C、BorderLayout D、GridLayout
12.paint()方法使用哪种类型的参数
A、GraphicsB、Graphics2DC、String D、Color
13.监听事件和处理事件( )?
?
?
?
?
A、都由Listener完成 B、都由相应事件Listener处注册过的组件完成
C、由Listener和组件分别完成D、由Listener和窗口分别完成
14.下列哪个属于容器的组件( )
A、JFrameB、JButtonC、JPnel D、Japplet
15.下列不属于容器的是()
A、Window B、TextBoxC、Panel D、ScrollPane
16.下面哪个语句是正确的()
A、Objecto=newButton(″A″); B、Buttonb=newObject(″B″);
C、Panelp=newFrame(); D、Framef=newPanel();
二.填空题
1、在需要自定义Swing构件的时候,首先要确定使用那种构件类作为所定制构件的______,一般继承Jpanel类或更具体的Swing类.
2、Swing的事件处理机制包括_____、事件和事件处理者。
3、Java事件处理包括建立事件源、_______和将事件源注册到监听器。
4、Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和_______开发包来实现。
5、抽象窗口工具包________提供用于所有Javaapplets及应用程序中的基本GUI组件。
6、Window有两种形式:
Frame(框架)和_____.
7、容器里的组件的位置和大小是由_____________决定的。
8、可以使用setLocation(),setSize()或____________中的任何一中方法设定组件的大小或位置。
9、容器Java.awt.Container是_____________类的子类。
10、框架的缺省布局管理器是_________.。
11、______________包括五个明显的区域:
东、南、西、北、中。
12、_____________布局管理器是容器中各个构件呈网格布局,平均占据容器空间
13、_____________组件提供了一个简单的“从列表中选取一个”类型的输入。
14、在组件中显示时所使用的字体可以用____________方法来设置。
15、为了保证平台独立性,Swing是用________编写。
16、Swing采用了一种MVC的设计范试,即___________.
17、SwingGUI使用两种类型的类,即GUI类和__________支持类。
18、________由一个玻璃面板、一个内容面板和一个可选择的菜单条组成。
19、对Swing构件可以设置_______边框。
20、___________对话框在被关闭前将阻塞包括框架在内的其他所有应用程序的输入。
22.类可用于创建菜单对象。
方法可以在菜单中放置分隔条。
23.用户可以使用类提供的方法来生成各种标准的对话框,也可以使用类根据实际需要生成自定义对话框。
三、编程题
1.写一AWT程序,在Frame中加入80个按钮,分20行4列,用GridLayout布局方式,按钮背景为黄色(Color.yellow),按钮文字颜色为红色(Color.red)。
2.写一AWT程序,在Frame中加入2个按钮(Button)和1个标签(Label),单击两个按钮,显示按钮的标签于Label。
4.在JFrame中加入1个文本框,1个文本区,每次在文本框中输入文本,回车后将文本添加到文本区的最后一行。
5.在JFrame中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、“劳逸结合”。
6.做一个简易的“+-x/”计算器:
JFram中加入2个提示标签,1个显示结果的标签,两个输入文本框,四个单选框(标题分别为+-x/),1个按钮,分别输入2个整数,选择相应运算符,点击后显示计算结果。
7.在JFrame中加入1个滚动列表框List、1个下拉列表框Choice和1个按钮,点击按钮将List中的项目移到Choice组件中,
8.找一幅图像,显示在JFrame中,要求按原图大小显示,再放大或缩小一倍显示,或者放大显示右下部的1/4块
9.在JFrame中,加入1个面板,在面板上加入1个文本框,一个按钮,使用null布局,设置文本框和按钮的前景色、背景色、字体、显示位置等。
10.在窗口中建立菜单,”文件”中有”打开”项目,点击后弹出文件对话框,在界面中的1个文本框中显示打开的文件名。
11.在JFrame中当键盘压下时显示该键的ASCII值,释放时显示该键的名称
12.在JFrame指定区域中点击鼠标,在点击出显示随机颜色的点。
13.将JFrame区域分成大小相等的2×2块,分别装入四幅图片,鼠标进入哪个区域,就在该区域显示一幅图片,移出后则不显示图片。
14.使用Swing组件做一个记事本程序,要求有菜单、文本区域、按钮等Swing组件,文件读写可以不做。
15.用输入/输出写一个程序,让用户输入一些姓名和电话号码。
每一个姓名和号码将加在文件里。
用户通过点"Done"按钮来告诉系统整个列表已输入完毕。
如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。
格式如:
555-1212,Tom123-456-7890,PeggyL.234-5678,Marc234-5678,Ron876-4321,Beth&Brian33.1.42.45.70,Jean-Marc
16.编写JFrame显示字符串,显示字符串及其显示位置,字体、字体大小和颜色通过HTML文件中的参数来传递
17.编写JFrame(大小140*60),其背景色为蓝色,画一个长方形(其填充色为pink,各边离边小于10像素)和一个在填充的长方形中左右移动的小球(半径15)
18.编写一个计算器程序,只有加减乘除功能,当作JFrame运行。
19.设计一个窗口,窗口上显示如下左图所示内容。
点击“确定”按钮,标签框中显示文件框的内容。
19题
20.设计如下图所示窗口。
20题
21.在窗口上设置一个按钮,和三个文本框,点击按钮后,背景色为文本框中数字确定的颜色。
22.设计如图所示窗口,点击按钮,在上面的多行文本框中显示内容。
22题图
23.使用Swing中的组件创建图23所示的GUI。
24.使用Swing中的组件创建图24所示的GUI。
25.使用Swing中的组件创建图25所示的GUI。
图23图24
图25
26.使用Swing中的组件绘制图26所示的对话框。
(提示:
使用setBounds()方法来设置组件在对话框中的位置和大小)
图26
27.实现图27效果,通过选择单选按钮中的选项来设置标签组件的内容,由标签组件显示我们的选择。
图27
28.实现图图28效果,当用户输入密码后,按下“登录”按钮,然后我们将密码输入是否正确的结果显示在文本域中。
图28
29.利用事件,实现下图效果,即点击图29按钮,弹出图图30。
图30单击按钮改变背景颜色。
图29 请单击按钮 图30 改变背景色
30.请完成下列Java程序:
用位于JFrame窗口下方的Open按钮,打开一个文件对话框,检索.gif或者.png图形文件,并在窗口中央将图象显示出来.(提示:
将图象文件嵌入图象标内,再将图像图标置于标签中)
注意:
请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当的语句.
importjava.awt.*;
importjova.awt.event.*;
importjava.io.*;
importjavax.swing.*;
publicclassImageViewer
{ publicstraticvoidmain(String[]args)
{ JFrameframe=newImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
classImgeViewerFrameextendsJFrame
{ publicImageViewerFrame()
{ setTitle("ImageViewer");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGTH);
label=newJLAbel();
Containercontentpane=getContentpane();
contentpane.add(label.BorderLayout.CENTER);
chooser=newJFileChooser();
chooser.setCurrentDirectory(newFile("."));
Buttonbutton=newButton("open");
contentpane.add(button,BorderLa
yout.SOUTH);
button.addActionListener(new
ActionListener()
{ publicvoidactionperformed(ActionEventevt)
{ intr=chooser.showOpenDialog(null)};
if(r==JFilechooser.APPROVE_OPTLON)
{ Stringname
=________________
_______________
}
}
}};
}
privateJLabellabel;
privateJFileChooserchooser;
privatestaticfinalintDEFAULT_WIDTH=300;
privatestaticfinalintDEFAULT_HEIGHT=400;
}
31.编写一程序,创建一个框架,框架中有文本框和一命令按钮”计算8!
”;按“计算8!
”按钮时计算8的阶乘,并将结果显示在文本框中。
32.编写一个程序,使之具有下图所示的界面,按Clear按钮时清空两个两个文本框的内容;按Copy按钮时将Source文本框的内容复制到Target文本框;按Close按钮则结束程序的运行。
33.编写一程序,使之具有下图所示的界面,每当在右侧的选择框中选中一个的名字时,便在左侧的文本区中显示出此人的情况介绍;当按Close按钮时,则结束程序的运行。
34.编写一程序,使之具有如下功能:
选中左边的列表中某项时,会自动添加到右边的列表中;当按Close按钮时,则结束程序的运行。
提示:
使用列表的remove()方法移除选中的项。
35.创建一个带有多级菜单和复选框的窗口,并在菜单中加入分隔线。
36.编写一个组件叫做DirTree,使用树形结果显示目录。