概述
- 试列举出图形用户界面中你所使用过的组件。
组件类:
(1)容器类:窗口类(框架类、对话框类(文件对话框类))、面板类(小程序类)
(2)按钮类
(3)标签类
(4)文本组件类:文本行类、文本区类
(5)复选框类
(6)下拉列表框类
(7)列表框类
(8)画布类
(9)滚动条类 - 框架组件与面板组件的区别有哪些?
Frame是Window类的直接子类,
Frame对象显示效果是一个“窗口”,带有标题和尺寸重置角标,
默认初始化不可见,
默认布局管理器是BorderLayout。
Panel是容器类的直接子类,
Panel不是顶层窗口,必须位于窗口或其他容器之内,
Panel提供可以容纳其他组件的支持,在程序中经常用于布局和定位
默认的布局管理器是FlowLayout
Panel可以采用和所在容器不同的布局管理器 - AWT主要用来处理文字输入的组件有哪两个?这两个组件有何不同点?
文本框TextField:单行文本编辑组件,文本框中只有一行文本,即使文本内容超出了文本框的宽度也不会折行;
文本区域TextArea:多行文本编辑组件,文本区可以实现多行文本的输入,且可以自动折行。 - 颜色类Color中提供哪些表示颜色的变量?
black/BLACK
blue/BLUE
cyan/CYAN
darkGray/DARKGRAY
gray/GRAY
green/GREEN
lightGray/LIGHTGRAY
magenta/MAGENTA
orange/ORANGE
pink/PINK
red/RED
white/WHITE
yellow/YELLOW - 字体类Font的主要用途有哪些?
规范组件所用的字体样式、大小与字形等。 - 设计一个窗口,内含一个文本框、三个复选框、二个单选按钮、一个标签和一个按钮。各组的位置、大小和其上的文字由用户自己设定。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class exe12_6 {
static Frame frm = new Frame("习题12-6");
static Label label = new Label();
static TextField tf = new TextField("文本框", 20);
static Button btn = new Button("按钮");
static Checkbox cb1 = new Checkbox("复选框01", true);
static Checkbox cb2 = new Checkbox("复选框02");
static Checkbox cb3 = new Checkbox("复选框03");
static Checkbox cb_g1 = new Checkbox("单选按钮01");
static Checkbox cb_g2 = new Checkbox("单选按钮02");
public static void main(String[] args) {
frm.setLayout(null);
frm.setSize(300, 200);
label.setText("标签");
label.setAlignment(Label.CENTER);
label.setLocation(20, 40);
label.setSize(50, 20);
label.setBackground(Color.yellow);
tf.setBounds(80, 40, 110, 20);
btn.setBounds(200, 40, 90, 20);
cb1.setBounds(20, 80, 80, 20);
cb2.setBounds(20, 100, 80, 20);
cb3.setBounds(20, 120, 80, 20);
CheckboxGroup group = new CheckboxGroup();
cb_g1.setBounds(100, 80, 80, 20);
cb_g2.setBounds(100, 100, 80, 20);
cb_g1.setCheckboxGroup(group);
cb_g2.setCheckboxGroup(group);
frm.add(label);
frm.add(tf);
frm.add(btn);
frm.add(cb1);
frm.add(cb2);
frm.add(cb3);
frm.add(cb_g1);
frm.add(cb_g2);
frm.setVisible(true);
}
}
- Java语言中常用的布局管理器各有什么特点?
流式布局管理器FlowLayout:
组件按照加入容器的先后顺序从左向右排列;
一行排满之后就自动地转到下一行继续从左向右排列;
每一行中的组件都居中排列。
边界式布局管理器BorderLayout:
将显示区域按地理方位分为东南西北中;
在将组件加入容器中时,都应该指出把这个组件加在哪个区域中,若没有指定区域,则默认中间;
若将组件加入到已被占用位置时,将会取代原先的组件。
网格式布局管理器GridLayout:
将容器的空间划分成若干行与列的网格形式,在容器上添加组件时,它们会按从左到右、从上到下的顺序在网格中排列。
卡片式布局管理器CardLayout:
往窗口容器中加入组件时对每个组件赋予一个名字,然后依据这个名字利用CardLayout类所提供的方法来控制其他组件是否显示。
网袋布局管理器GridBagLayout:
将容器中的组件按行、列的位置摆放,但各组件所占据的空间可以是互不相同的。
注:练习均为博主自己编写,不是标准答案,可能存在问题,可以留言讨论。
最后
以上就是还单身小蘑菇为你收集整理的Java2程序设计基础第十二章课后习题的全部内容,希望文章能够帮你解决Java2程序设计基础第十二章课后习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复