awt的常用基本组件
AWT提供了如下基本组件:
Button:按钮,可接受单击操作 Canvas:用于绘图的画布 Checkbox:复选框组件(也可变成单选框组件) CheckboxGroup:用于将多个Checkbox组件合成一组,一组Checkbox组件将只有一个可以被选中,即全部变成单选框组件 Choice:下拉式选择框组件 Frame:窗口,在GUI程序里通过该类创建窗口 Label:标签类,用于放置提示性文本 List:列表框组件,可以添加多条项目 Panel:不能单独存在的基本容器类,必须放到其他容器中 Scrollbar:滑动条组件,如果需要用户输入位于某个范围的值,就可以使用滑动条组件,比如调色板中设置RGB的三个值所用的滑动条 ScrollPane:带水平及垂直滚动条的容器组件 TextArea:多行文本域 TextField:单行文本框
awt的常用基本组件_练习
xxxxxxxxxx
package ch29;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import static javax.swing.Box.createHorizontalBox;
public class a_4_0awt_常用基本组件 {
Frame frame = new Frame("测试基本组件");
//定义一个组,cbg是组名,一组可存放多个Checkbox组件,在同一组的多个CheckBox组件将只有一个可以被选中。使下面的男女都在cbg组里,则男女只能同时选中一个
CheckboxGroup cbg = new CheckboxGroup();
//定义一个单选框(处于cbg一组),初始处于被选中状态
Checkbox male = new Checkbox("男", cbg, true);//true表示默认是选中状态
//定义一个单选框(处于cbg一组),初始处于未被选中状态
Checkbox female = new Checkbox("女", cbg, false);
//定义一个复选框,初始处于未被选中状态
Checkbox married = new Checkbox("是否已婚", false);
//定义一个下拉选择框
Choice color = new Choice();
//定义一个右边部分的列表选择框
List colorList = new List(6, true);//列表默认是单选,6行,true表示支持多选
//定义一个5行、20列的多行文本域
TextArea ta = new TextArea(5, 20);
//定义一个20列的单行文本框
TextField name = new TextField(20);
//定义一个按钮
Button ok = new Button("确认");
//组装界面。把上面的全部组件都组装起来
public void init() {
//给color组件添加内容,既有什么可选的
color.add("红色");
color.add("绿色");
color.add("蓝色");
//给colorList列表添加三个内容
colorList.add("红色");
colorList.add("绿色");
colorList.add("蓝色");
//创建一个装载了文本框按钮的Panel
Panel bottom = new Panel();
bottom.add(name);
bottom.add(ok);
frame.add(bottom, BorderLayout.SOUTH);
//创建一个装载了下拉选择框、三个Checkbox的Panel
Panel checkPanel = new Panel();
checkPanel.add(color);
checkPanel.add(male);
checkPanel.add(female);
checkPanel.add(married);
//创建一个垂直排列组件的Box,盛装多行文本域,Panel
Box topLeft = Box.createVerticalBox();
topLeft.add(ta);
topLeft.add(checkPanel);
//创建一个水平排列组件的Box
Box top = Box.createHorizontalBox();
top.add(topLeft);
top.add(colorList);
//将top Box 容器添加到窗口的中间
frame.add(top);
//设置frame为最佳大小,并且可见
frame.pack();
frame.setVisible(true);
//给Frame设置WindowListener监听器,监听用户点击右上角X的动作,则关闭窗口
frame.addWindowListener(new WindowAdapter() {
//采用Java通过的适配器设计模式,我们只需要重写自己需要的方法,例如windowClosing方法,如下
public void windowClosing(WindowEvent e) {
System.exit(0);//原理:退出JVM虚拟机,即退出当前运行的Java程序
}
});
}
public static void main(String[] args) {
new a_4_0awt_常用基本组件().init();
}
//为什么按钮里面的文字出现乱码:idea编码是UTF-8,生成的按钮是由当前win11操作系统创建的,而当前系统的默认编码是中文GBK编码,不一致就会出现乱码
//解决:让编码和解码一致
//具体解决:在idea软件的上方中间靠右一些有一个绿色锤子图标,点击锤子图标右边的输入框,点击下拉的Edit Configurations...,点击弹出来的
//选项卡的Modify options绿色字体,找到Add VM options并勾选,将'-Dfile.encoding=gbk'输入到刚才Modify options蓝色字体的
//下方的三条输入框中的最上面那条输入框里面
}