习题答案.docx

上传人:b****8 文档编号:9090807 上传时间:2023-02-03 格式:DOCX 页数:24 大小:20.46KB
下载 相关 举报
习题答案.docx_第1页
第1页 / 共24页
习题答案.docx_第2页
第2页 / 共24页
习题答案.docx_第3页
第3页 / 共24页
习题答案.docx_第4页
第4页 / 共24页
习题答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

习题答案.docx

《习题答案.docx》由会员分享,可在线阅读,更多相关《习题答案.docx(24页珍藏版)》请在冰豆网上搜索。

习题答案.docx

习题答案

一、填空题

1.Java的Swing包中定义框架的类是__.JFrame

2.Java的Swing包中定义面板的类是__JPanel_____

3.Java的Swing包中定义按钮的类是___JButton___

4.Java的Swing包中定义文本域的类是__JTextField

5.Java的Swing包中定义标签的类是___JLabel

6.Java的Swing包中定义组合框的类是__JComboBox

7.Java的Swing包中定义菜单条的类是__JMenuBar

8.Java的Swing包中定义菜单的类是__JMenu

9.Java的Swing包中定义菜单项的类是_JMenuItem

10.Java的Swing包中定义选项卡的类是__JTabbedPane

11.Color类定义在_java.awt___包中。

12.ActionEvent类定义在__java.awt.event___包中。

13.ActionEvent事件的监听接口是__ActionListener___,注册方法名是__addActionListener__,事件处理方法名是_____actionPerformed________

14.WindowEvent事件的监听接口是_____WindowListener______,注册方法名是_____addWindowListener_________

15.设置容器布局管理器的方法是___setLayout___

16.显示JFrame框架的方法名是________setVisible______

17.设置JFrame框架标题的方法名是_______setTitle______

18.设置JFrame框架大小的方法名是_______setSize______

19.重画面板的方法名是_____repaint_____

20.AWT的用户界面组件库被更稳定、通用、灵活的库取代,该库称为Swing组件库。

21.不依赖本地GUI的Swing组件称为轻型组件,AWT组件称为重型组件。

22.图形类可以分为三组:

容器类、组件类和辅助类。

23.FlowLayout布局管理器可以使用三个常量之一来指定组件的对齐方式,这三个常量是24.FlowLayout.RIGHT、FlowLayout.CENTER和FlowLayout.LEFT。

25.FlowLayout布局方式默认的对齐方式是居中,默认的水平间距和垂直间距都是5个像素。

二、单项选择题

1.下面属于容器类的是(A)。

AJframeBJtextFieldCColorDJmenu

2.FlowLayout的布局策略是(A)

A)按添加的顺序由左至右将组件排列在容器中。

B)按设定的行数和列数以网格的形式排列组件。

C)将窗口划分成五部分,在这五个区域中添加组件。

D)组件相互叠加排列在容器中。

3.BorderLayout的布局策略是(C)

A)按添加的顺序由左至右将组件排列在容器中。

B)按设定的行数和列数以网格的形式排列组件。

C)将窗口划分成五部分,在这五个区域中添加组件。

D)组件相互叠加排列在容器中。

4.GridLayout的布局策略是(B)

A)按添加的顺序由左至右将组件排列在容器中。

B)按设定的行数和列数以网格的形式排列组件。

C)将窗口划分成五部分,在这五个区域中添加组件。

D)组件相互叠加排列在容器中。

5.JFrame中内容窗格缺省的布局管理器是(B)

A)FlowLayoutB)BorderLayoutC)GridLayoutD)CardLayout

6.JPanel缺省的布局管理器是(A)

A)FlowLayoutB)BorderLayoutC)GridLayoutD)CardLayout

三、判断题

1.AWT事件最初是为AWT组件设计的,但是许多Swing组件都可以触发它们。

2.FlowLayout是Jframe内容窗格默认的布局管理器。

3.Java使用事件委托处理模型来处理事件。

源对象和监听对象可以是同一个对象。

4.Graphics类是在不同的平台上显示图形和图像的一个具体类。

答案:

1.(对)

2.(错)

3.(对)

4.(错)

三、编程题:

掌握:

(1)面板和面板布局。

(2)使用框架及布局

1.创建一个图形化界面,模拟教师中讲台和座位的分布。

讲台放置在教师的最上端,学生座位按行、列分布。

指定学生座位按7行5列的布局分布。

如图所示:

(考察知识点:

定义框架和面板,分别采用布局管理器进行布局,添加按钮组件)

答案:

importjavax.swing.JFrame;

importjavax.swing.JButton;

importjava.awt.Container;

importjava.awt.FlowLayout;

importjava.awt.GridLayout;

importjava.awt.BorderLayout;

importjavax.swing.JPanel;

publicclassTestextendsJFrame{

publicTest(){

Containerc=this.getContentPane();

c.add(newJButton("讲台"),BorderLayout.NORTH);

JPanelp=newJPanel();

p.setLayout(newGridLayout(7,5));

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

p.add(newJButton("座位"+i));

}

this.getContentPane().add(p,BorderLayout.CENTER);

}

publicstaticvoidmain(String[]args)

{

TestmyFrame=newTest();

myFrame.setSize(700,700);

myFrame.setVisible(true);

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

2.请编写一个Application,其功能为:

在其图形窗口按右对齐方式摆放三个按钮,三个按钮的标题分别显示为:

“Button1”,“Button2”,“Button3”。

(考察知识点:

FlowLayout布局管理器的使用)

mportjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

Containercontainer=this.getContentPane();

container.setLayout(newFlowLayout(FlowLayout.RIGHT));

container.add(newJButton("Button1"));

container.add(newJButton("Button2"));

container.add(newJButton("Button3"));

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVisible(true);

}

}

3.请编写一个Application,其功能为:

在其框架的内容网格上安排两个按钮,分别命名为East,West,内容网格的布局为BorderLayout布局,并将两个按钮放置在内容网格的东部区域和西部区域。

(考察知识点:

BorderLayout布局管理器的使用方法)

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

Containercontainer=this.getContentPane();

container.setLayout(newBorderLayout());

container.add(newButton("west"),BorderLayout.WEST);

container.add(newButton("east"),BorderLayout.EAST);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVisible(true);

}

}

4.编写下图所示的计算器界面:

将16个按钮放置在面板中(面板的布局为4*4的GridLayout布局),再将面板放置在框架中的中间(框架布局为缺省布局BorderLayout)。

(考察知识点:

框架面板的定制,在框架中添加面板,使用BorderLayout和GridLayout布局)

importjava.awt.*;

importjava.awt.event.*;

publicclassApp

{

publicstaticvoidmain(String[]args)

{

newMyFrame("计算器");

}

}

classMyFrameextendsFrame

{

TextFieldtf;

Panelp=newPanel();

Buttonb[]=newButton[16];

MyFrame(Strings)

{

super(s);

this.setSize(180,180);

//框架的缺省布局是:

BorderLayout

tf=newTextField(20);

add(tf,BorderLayout.NORTH);

Stringname[]={"1","2","3","+",//第1行

"4","5","6","-",//第2行

"7","8","9","*",//第3行

"0",".","=","/",//第2行

};

p.setLayout(newGridLayout(4,4));

for(inti=0;i

{

b[i]=newButton(name[i]);

p.add(b[i]);

}

add(p,BorderLayout.CENTER);

this.setVisible(true);

}

}

掌握:

(1)绘制字符串、字符、字节

(2)字体、字型、字号的使用(3)颜色的设置

5.请编写一个Application,实现如下图所示的图形界面:

(考察知识点:

在指定坐标位置上设置字符串的颜色)

提示:

在图形界面坐标(20,30)处以绿色显示“我喜欢绿色。

”,在坐标(20,60)处以蓝色显示“我也喜欢蓝色。

”。

答案:

importjava.awt.*;

importjavax.swing.*;

publicclassMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("ShowString");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVisible(true);

}

}

classMyPanelextendsJPanel

{

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

g.setColor(Color.green);

g.drawString("我喜欢绿色。

",20,30);

g.setColor(Color.blue);

g.drawString("我也喜欢蓝色。

",20,60);

}

}

6.请编写一个Application,分别以红、绿、黄、粉、白、蓝等六种颜色,在同一行上显示六个数字1、2、3、4、5、6。

图形界面如下图所示:

(考察知识点:

对字符进行不同颜色的设置)

答案:

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVisible(true);

}

}

classMyPanelextendsJPanel

{

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

intj=0;

Colorcolor[]=newColor[6];

color[0]=Color.red;color[1]=Color.green;

color[2]=Color.yellow;color[3]=Color.pink;

color[4]=Color.white;color[5]=Color.blue;

for(charch='1';ch<='6';ch++)

{

g.setColor(color[ch-'1']);

g.drawString(""+ch,10+j,30);

j+=20;

}

}

}

7.请编写一个Application,实现以不同的灰度值在一行上显示数字0-9的图形界面,如下图所示:

(考察知识点:

对字符进行不同灰度的设置)

答案:

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(500,400);

myFrame.setVisible(true);

}

}

classMyPanelextendsJPanel

{

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

intj=0;

intred=0,green=0,blue=0;

for(charch='0';ch<='9';ch++)

{

g.setColor(newColor(red,green,blue));

g.drawString(""+ch,10+j,30);

j+=20;

red+=25;

green+=25;

blue+=25;

}

}

}

8.编写一个Application,实现如下图的图形界面:

提示:

将字符串“Ilikejava!

”在图形界面上重复显示5次,每次显示在1行上。

要求显示字体为"Courier"字体,字体风格为斜体,第1行字符串的字体大小是15,后面的每一行的字体大小依次增加5,每行的间隔为30像素。

(考察知识点:

设置字符串的显示次数、字体、字号、字符间距)

答案:

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(250,250);

myFrame.setVisible(true);

}

}

classMyPanelextendsJPanel

{

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

Fontf1;

intsize=15;

inty=30;

Stringstr="Ilikejava!

";

for(inti=0;i<5;i++)

{

f1=newFont("Courier",Font.ITALIC,size);

g.setFont(f1);

g.drawString(str,30,y);

size+=5;

y+=30;

}

}

}

9.请编写一个Application,以不同颜色在一列上显示字符串"每个字的颜色都不同!

",实现的图形界面可参考下图:

(考察知识点:

设置字符串的渐变颜色)

@程序

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVisible(true);

}

}

classMyPanelextendsJPanel

{

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

intj=0;

char[]b={'每','个','字','的','颜','色','都','不','同','!

'};

intred=188,green=220,blue=99;

for(inti=0;i

{

g.setColor(newColor(red,green,blue));

g.drawString(""+b[i],20,20+j);

j+=15;

red=(red+35)%256;green=(green+55)%256;blue=(blue+85)%256;

}

}

}

掌握:

(1)画直线

(2)画长方形、画正方形(3)画圆、画椭圆、画扇形、画弧

10.编写Java程序,实现如图所示的图形界面:

提示:

将程序窗口的右上的1/4区域用红色画成实心的长方形;将小程序窗口的左下的1/4区域用蓝色画成实心的长方形。

(考察知识点:

实心长方形绘制,填充颜色)

@程序

importjava.awt.*;

importjavax.swing.*;

classMyFrameextendsJFrame

{

publicMyFrame()

{

MyPanelmyPanel=newMyPanel();

this.getContentPane().add(myPanel);

}

publicstaticvoidmain(String[]args)

{

MyFramemyFrame=newMyFrame();

myFrame.setTitle("Show");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setSize(200,200);

myFrame.setVis

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

当前位置:首页 > 解决方案 > 学习计划

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

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