JAVA学习笔记(四十四)- AWT组件 (Abstract Window Toolkit)

Frame窗体组件

import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/*
 * Frame窗体组件
 */
public class Test01 {
    public static void main(String[] args) {
        Frame frame=new Frame("我的窗体"); //创建窗体
        /*frame.setSize(300, 300);//设置窗体大小
        frame.setLocation(250, 250);//设置窗体出现的位置
        */
        frame.setBounds(250,250,300,300);//同时设置位置和大小
        frame.setBackground(Color.red);//设置窗体背景颜色
        frame.setLocationRelativeTo(null);//设置窗体出现在中间
        frame.setVisible(true);//显示窗体

        //添加监听事件,当点击右上角的关闭时关闭窗体
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//当点击按钮时退出程序
            }
        });
    }
}

Panel面板组件

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Panel;

/*
 * Panel面板组件
 */
public class Test02 {
    public static void main(String[] args) {
        Frame frame =new Frame("My Frame");
        Panel pnl=new Panel();//创建面板
        pnl.setSize(new Dimension(100, 100));
        pnl.setBackground(Color.yellow);

        frame.add(pnl);//将面板添加到窗体中
        frame.setSize(200, 200);
        frame.setBackground(Color.gray);
        frame.setLocationRelativeTo(null);
        frame.setLayout(null);//取消布局管理器,采用手动布局
        frame.setVisible(true);
    }
}

Label标签和TextField单行文本框

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;

/*
 * Label标签和TextField单行文本框
 */
public class Test07 extends Frame{

    Label lblUsername=new Label("用户名:");
    TextField txtUsername=new TextField(10);

    public Test07(String title){
        setTitle(title);//调用父类的构造方法,设置标题
        setLayout(new FlowLayout());
        add(lblUsername);//将标签添加到窗体中
        add(txtUsername);//将文本框添加到窗体中
        setSize(200, 200);
    }

    public static void main(String[] args) {
        Test07 test=new Test07("我的窗体");
        test.setVisible(true);
    }
}

TextArea多行文本框和Button按钮

/*
 * TextArea多行文本框和Button按钮
 */
public class Test08 extends Frame{
    TextArea txtComment =new TextArea(5, 20);
    Button btnOK=new Button("确定");
    Button btnCancel=new Button("取消");

    public Test08(String title){
        super(title);
        init();//初始化
    }

    public void init(){
        setLayout(new FlowLayout());
        add(txtComment);
        add(btnOK);
        add(btnCancel);
        setSize(200, 200);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Test08("我的小苹果");
    }
}

标题


/*
 * Checkbox复选框和CheckboxGroup
 */
public class Test09  extends Frame{

    Checkbox hobby1=new Checkbox("吃饭");
    Checkbox hobby2=new Checkbox("睡觉");
    Checkbox hobby3=new Checkbox("打豆豆");

    //创建复选框组,将复选框添加到组中,变为单选按钮
    CheckboxGroup sexGroup=new CheckboxGroup();
    Checkbox male=new Checkbox("男",true,sexGroup);
    Checkbox female=new Checkbox("女",false,sexGroup);

    Label lblHobby=new Label("爱好:");
    Label lblSex=new Label("性别:");

    public Test09(String title){
        super(title);
        init();
    }

    public void init(){
        setLayout(new GridLayout(7, 1));
        add(lblHobby);
        add(hobby1);
        add(hobby2);
        add(hobby3);
        add(lblSex);
        add(male);
        add(female);
    }

    public static void main(String[] args) {
        Test09 test=new Test09("我的窗体");
        test.setSize(200,200);
        test.setLocationRelativeTo(null);
        test.setVisible(true);
    }
}

Choice选择框和List列表框

import java.awt.Choice;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.List;

/*
 * Choice选择框和List列表框
 */
public class Test10 extends Frame{
    Label lblFruit=new Label("您喜爱的水果:");
    Label lblStar=new Label("您喜爱的明星:");
    Choice fruits=new Choice();
    List starts=new List(2,true);
    List lst = new List(4, false);

    public Test10(String title){
        super(title);
        setLayout(new GridLayout(2, 2));

        fruits.add("小苹果");
        fruits.add("菠萝蜜");
        fruits.add("香蕉疤瘌");
        starts.add("林志玲");
        starts.add("刘亦菲");
        starts.add("万丽庆");
        lst.add("Mercury");
         lst.add("Venus");
         lst.add("Earth");
         lst.add("JavaSoft");
         lst.add("Mars");
         lst.add("Jupiter");
         lst.add("Saturn");
         lst.add("Uranus");
         lst.add("Neptune");
         lst.add("Pluto");

        add(lblFruit);
        add(fruits);
        add(lblStar);
        add(starts);
        //add(lst);
    }

    public static void main(String[] args) {
        Test10 test=new Test10("嘿嘿");
        test.setSize(300, 300);
        test.setLocationRelativeTo(null);
        test.setVisible(true);
    }
}

MenuBar、Menu、MenuItem

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.event.KeyEvent;

/*
 * MenuBar、Menu、MenuItem
 */
public class Test11 {
    public static void main(String[] args) {
        Frame frame=new Frame("我的窗体");
        //创建菜单栏
        MenuBar myMenu=new MenuBar();
        //创建菜单
        Menu menu1=new Menu("File");
        Menu menu2=new Menu("Edit");
        //创建菜单项
        MenuShortcut newms=new MenuShortcut(KeyEvent.VK_N, true);//设置快捷键
        MenuItem item1=new MenuItem("New",newms);
        MenuItem item2=new MenuItem("Close");
        MenuItem item3=new MenuItem("Save");
        MenuItem item4=new MenuItem("Copy");
        MenuItem item5=new MenuItem("Cut");
        MenuItem item6=new MenuItem("Paste");
        //将菜单项添加到菜单中
        menu1.add(item1);
        menu1.add(item2);
        menu1.add(item3);
        menu2.add(item4);
        menu2.add(item5);
        menu2.add(item6);
        //将菜单添加到菜单栏
        myMenu.add(menu1);
        myMenu.add(menu2);

        frame.setLayout(new FlowLayout());
        frame.setSize(200,200);
        frame.setLocationRelativeTo(null);
        frame.setMenuBar(myMenu);//设置窗体的菜单栏
        frame.setVisible(true);

    }
}
时间: 2024-08-08 06:21:01

JAVA学习笔记(四十四)- AWT组件 (Abstract Window Toolkit)的相关文章

JAVA学习笔记(三十四)- 字节打印流 PrintStream

PrintStream字节打印流 import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.io.Reader; /* * Pri

java学习笔记(十四)

一.散列表 1.容量:散列表中的散列数组大小 2.散列运算:key->散列值的算法 3.散列桶:散列值相同的元素的"线性集合" 4.加载因子:就是散列数组加载率,就是元素数量/散列数组大小 5.散列查找:根据key计算散列值,找到散列桶,在散列桶中顺序比较key,如果一样就返回value 6.散列表中key不同,value可以重复 例子: <span style="white-space:pre"> </span>User u1=new

JAVA学习笔记(五十四)- 事务Transaction与批处理

事务Transaction /* * 事务Transaction * JDBC默认开启自动提交事务,需要关闭,才能手动控制事务 * * 默认MySQL存储引擎为My...,其不支持事务处理,修改为InnoDB引擎 * create table 表名( ) engine=InnoDB default charset=utf8; * * InnoDB引擎默认关闭自动事务提交,修改MySQL为自动提交事务 * set autocommit=1; //1表示自动提交,0表示关闭自动提交 * show v

【Unity 3D】学习笔记三十四:游戏元素——常用编辑器组件

常用编辑器组件 unity的特色之一就是编辑器可视化,很多常用的功能都可以在编辑器中完成.常用的编辑器可分为两种:原有组件和拓展组件.原有组件是编辑器原生的一些功能,拓展组件是编辑器智商通过脚本拓展的新功能. 摄像机 摄像机是unity最为核心组件之一,游戏界面中显示的一切内容都得需要摄像机来照射才能显示.摄像机组件的参数如下: clear flags:背景显示内容,默认的是skybox.前提是必须在render settings 中设置天空盒子材质. background:背景显示颜色,如果没

Android学习笔记二十四之ListView列表视图二

Android学习笔记二十四之ListView列表视图二 前面一篇我们介绍了常用的几种适配器的简单实现和ListView的简单使用,这一篇中,我们介绍一下ListView的优化和一些其它的问题. ListView优化方法一 在ListView中,我们最常用的就是自定义Adapter,在我们自定义Adapter中,需要实现两个比较重要的方法getCount()和getView(),前者是负责计算ListView的总Item数,后者是生成Item,有多少个Item就会调用getView()方法多少次

Android学习笔记(十四)——在运行时添加碎片(附源码)

在运行时添加碎片 点击获取源码 将UI分割为多个可配置的部分是碎片的优势之一,但其真正强大之处在于可在运行时动态地把它们添加到活动中. 1.使用上一篇创建的Fragments项目,在main.xml文件中注释掉两个<fragment>元素: 2.在FragmentActivity.java中添加下面的代码: FragmentManager fragmentManager = getSupportFragmentManager();//向活动添加碎片 FragmentTransaction fr

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

UI学习笔记---第十四天数据持久化

一.沙盒机制 每个应用程序位于文件系统的严格限制部分 每个应用程序只能在为该程序创建的文件系统中读取文件 每个应用程序在iOS系统内斗放在了统一的文件夹目录下 沙盘路径的位置 1. 通过Finder查找程序沙盘相对路径 ~/Library/Application Support/iPhone Simulator 2. 通过代码查找程序沙盘相对路径 NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory,NSSearc

汇编入门学习笔记 (十四)—— 直接定址表

疯狂的暑假学习之  汇编入门学习笔记 (十四)-- 直接定址表 参考: <汇编语言> 王爽 第16章 1. 描述单元长度的标号 普通的标号:a,b assume cs:code code segment a:db 1,2,3,4,5,6,7,8 b:dw 0 start: mov si,offset a mov di,offset b mov ah,0 mov cx,8 s: mov al,cs:[si] add cs:[di],ax inc si loop s mov ax,4c00h in