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);
    }
}
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);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值