一、 填空题
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 )。
A Jframe B JtextField C Color D Jmenu 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)FlowLayout B)BorderLayout C)GridLayout D)CardLayout 6. JPanel缺省的布局管理器是( A )
A)FlowLayout B)BorderLayout C)GridLayout D)CardLayout
三、 判断题
1. AWT事件最初是为AWT组件设计的,但是许多Swing组件都可以触发它们。
2. FlowLayout是Jframe内容窗格默认的布局管理器。
3. Java使用事件委托处理模型来处理事件。源对象和监听对象可以是同一个对象。 4. Graphics类是在不同的平台上显示图形和图像的一个具体类。 答案: 1. (对) 2. (错) 3. (对) 4. (错)
三、编程题:
掌握:(1)面板和面板布局。 (2)使用框架及布局
1.创建一个图形化界面,模拟教师中讲台和座位的分布。
讲台放置在教师的最上端,学生座位按行、列分布。指定学生座位按7行5列的布局分布。 如图所示:
(考察知识点:定义框架和面板,分别采用布局管理器进行布局,添加按钮组件) 答案:
import javax.swing.JFrame; import javax.swing.JButton; import java.awt.Container; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.BorderLayout;
import javax.swing.JPanel;
public class Test extends JFrame{ public Test(){ Container c=this.getContentPane(); c.add(new JButton(\讲台\
JPanel p=new JPanel();
p.setLayout(new GridLayout(7,5)); for(int i=0;i<35;i++){ p.add(new JButton(\座位\
}
this.getContentPane().add(p,BorderLayout.CENTER); }
public static void main(String[] args) { }
Test myFrame=new Test(); myFrame.setSize(700,700);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
2.请编写一个Application,其功能为:在其图形窗口按右对齐方式摆放三个按钮,三个按钮的标题分别显示为:“Button 1”,“Button 2”,“Button 3”。 (考察知识点:FlowLayout布局管理器的使用) mport java.awt.*;
import javax.swing.*;
class MyFrame extends JFrame {
public MyFrame() { } { }
Container container = this.getContentPane();
container.setLayout(new FlowLayout(FlowLayout.RIGHT)); container.add(new JButton(\container.add(new JButton(\container.add(new JButton(\
public static void main(String[] args)
MyFrame myFrame = new MyFrame(); myFrame.setTitle(\
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setSize(200,200); myFrame.setVisible(true);
}
3.请编写一个Application,其功能为:在其框架的内容网格上安排两个按钮,分别命名为East, West,内容网格的布局为BorderLayout布局,并将两个按钮放置在内容网格的东部区域和西部区域。
(考察知识点:BorderLayout布局管理器的使用方法) import java.awt.*; import javax.swing.*; class MyFrame extends JFrame { }
public MyFrame() { }
Container container = this.getContentPane();
container.setLayout(new BorderLayout());
container.add(new Button(\container.add(new Button(\
public static void main(String[] args) { MyFrame myFrame = new MyFrame(); }
myFrame.setTitle(\
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setSize(200,200); myFrame.setVisible(true);
4.编写下图所示的计算器界面:将16个按钮放置在面板中(面板的布局为4*4的GridLayout布局),再将面板放置在框架中的中间(框架布局为缺省布局BorderLayout)。
(考察知识点:框架面板的定制,在框架中添加面板,使用BorderLayout和GridLayout布局)
import java.awt.*; import java.awt.event.*;
public class App {
} { }
public static void main (String[] args) { }
new MyFrame(\计算器\
class MyFrame extends Frame
TextField tf;
Panel p=new Panel(); Button b[]=new Button[16];
MyFrame(String s) { }
super(s);
this.setSize(180,180);
//框架的缺省布局是:BorderLayout tf=new TextField(20);
add(tf,BorderLayout.NORTH);
String name[]={\第1行 \第2行
\第3行 \第2行
};
p.setLayout(new GridLayout(4,4)); for(int i=0;i b[i]=new Button(name[i]); p.add(b[i]); add(p,BorderLayout.CENTER); this.setVisible(true); 掌握:(1)绘制字符串、字符、字节(2)字体、字型、字号的使用(3)颜色的设置 5. 请编写一个Application,实现如下图所示的图形界面: