awt&swing 学习笔记(1)

创建一个窗口

//1.创建一个窗口对象
        Frame frame=new Frame("这里测试window窗口");
        //2.指定窗口位置,大小
        frame.setBounds(200,200,400,400);
        //3.设置窗口对象可见

        frame.setVisible(true);

这是测试可滚动界面

Frame frame =new Frame("这是测试可滚动界面");

        //创建一个ScrollPane对象

        ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);


        //添加内容

        sp.add(new TextField("这是测试文本"));
        sp.add(new Button("这是测试按钮"));

        //吧ScrollPane添加到window上

        frame.add(sp);
        frame.setBounds(500,300,600,400);
        frame.setVisible(true);

创建一个window对象,因为panel以及其他的容器,都不能独立存在

//1.创建一个window对象,因为panel以及其他的容器,都不能独立存在

        Frame frame =new Frame("这是测试panel");
        //2.创建一个panel对象
        Panel panel =new Panel();
        //3.在panel添加组件
        //创建一个文本框和一个按钮,并放入到panel容器中
        panel.add(new TextField("这里是一个测试文本"));
        panel.add(new Button("这是一个测试按钮"));

        //4.把panel放入到window容器中
        frame.add(panel);

        frame.setBounds(100,100,400,400);

        frame.setVisible(true);

layout布局
BorderLayoutDemo1

Frame frame =new Frame();

//给frame设置按钮管理器
        frame.setLayout(new BorderLayout(30,10));

        //2.往frame的指定区域添加组件
        frame.add(new Button("北侧按钮"),BorderLayout.NORTH);
        frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);
        frame.add(new Button("东侧按钮"),BorderLayout.EAST);
        frame.add(new Button("西侧按钮"),BorderLayout.WEST);
        frame.add(new Button("中间按钮"),BorderLayout.CENTER);




        frame.pack();

        frame.setVisible(true);

BorderLayoutDemo2

Frame frame =new Frame();

//给frame设置按钮管理器
        frame.setLayout(new BorderLayout(30,10));

        //2.往frame的指定区域添加组件
        frame.add(new Button("北侧按钮"),BorderLayout.NORTH);
        frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);

        Panel p =new Panel();


        p.add(new Button("中间按钮"));
        p.add(new TextField("测试文本"));
        frame.add(p);
        frame.pack();
        frame.setVisible(true);

BoxLayoutDome1

Frame frame =new Frame("这里测试boxlayout");

        //基于frame,创建一个boxlayout组件,该对象存放组件是垂直存放
//        BoxLayout boxLayout = new BoxLayout(frame,BoxLayout.Y_AXIS);
        BoxLayout boxLayout = new BoxLayout(frame,BoxLayout.X_AXIS);

        //吧boxlayout对象设置给frame

        frame.setLayout(boxLayout);

        //往frame中添加两个按钮组件

        frame.add(new Button("按钮1"));
        frame.add(new Button("按钮2"));
        frame.pack();
        frame.setVisible(true);

BoxLayoutDome2

Frame frame =new Frame();
        //创建一个水平排列组件的容器
        Box box1 = Box.createHorizontalBox();

        //往容器添加两个按钮
        box1.add(new Button("水平按钮1"));
        box1.add(new Button("水平按钮2"));

        //添加垂直排列的box容器
        Box box2 = Box.createVerticalBox();
        //往当前容器中添加两个按钮
        box2.add(new Button("垂直按钮1"));
        box2.add(new Button("垂直按钮2"));

        //把两个box容器添加到frame中展示

        frame.add(box1,BorderLayout.NORTH);
        frame.add(box2,BorderLayout.SOUTH);

        frame.pack();
        frame.setVisible(true);

BoxLayoutDome3

Frame frame =new Frame();

        Box box1 = Box.createHorizontalBox();
        box1.add(new Button("水平按钮1"));
        box1.add(Box.createHorizontalGlue());//该分隔在两个方向都可以拉伸
        box1.add(new Button("水平按钮2"));
        box1.add(Box.createHorizontalStrut(30));
        box1.add(new Button("水平按钮3"));

        Box box2=Box.createVerticalBox();
        box2.add(new Button("垂直按钮1"));
        box1.add(Box.createVerticalGlue());//该分隔在两个方向都可以拉伸
        box2.add(new Button("垂直按钮2"));
        box2.add(Box.createVerticalStrut(30));
        box2.add(new Button("垂直按钮3"));

        frame.add(box1,BorderLayout.NORTH);
        frame.add(box2);

        frame.pack();

        frame.setVisible(true);

CardLayoutDome

Frame frame =new Frame();

        //创建一个panel,用来存储多张卡片
        final Panel p1=new Panel();
        //创建card对象,并且把该对象设置给之前创建的容器
        final CardLayout cardLayout=new CardLayout();
        p1.setLayout(cardLayout);
        //王panel中存储多个组件

        String[] names={"第一张","第二张","第三张","第四张","第五张"};
        for (int i = 0; i < names.length; i++) {
            p1.add(names[i],new Button(names[i]));
        }



        //把panel放到frame的中间区域

        frame.add(p1);

        //创建另外一个panel p2,用于存储多个按钮组件
        Panel p2=new Panel();

        //创建5个按钮组件

        Button b1 = new Button("上一张");
        Button b2 = new Button("下一张");
        Button b3 = new Button("第一张");
        Button b4 = new Button("最后一张");
        Button b5 = new Button("第三张");

        //创建一个事件监听器,监听按钮的动作

        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //这个字符串其实就是按钮的文字
                String command = e.getActionCommand();

                if ("上一张".equals(command)) {
                    cardLayout.previous(p1);
                } else if ("下一张".equals(command)) {
                    cardLayout.next(p1);
                } else if ("第一张".equals(command)) {
                    cardLayout.first(p1);
                } else if ("最后一张".equals(command)) {
                    cardLayout.last(p1);
                } else if ("第三张".equals(command)) {
                    cardLayout.show(p1,"第三张");
                }

            }
        };

        //把当前这个事件监听器和多个按钮绑定到一起

        b1.addActionListener(actionListener);
        b2.addActionListener(actionListener);
        b3.addActionListener(actionListener);
        b4.addActionListener(actionListener);
        b5.addActionListener(actionListener);

        //把按钮添加到容器p2中

        p2.add(b1);
        p2.add(b2);
        p2.add(b3);
        p2.add(b4);
        p2.add(b5);

        //把p2放到frame的南边区域

        frame.add(p2,BorderLayout.SOUTH);


        frame.pack();

        frame.setVisible(true);

FlowLayoutDome

Frame frame =new Frame("这里测试FlowLayout");

        //通过setlayout设置容器的布局管理器//像素
//        frame.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));
        frame.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
        //添加多个按钮到frame中
        for (int i = 1; i <100 ; i++) {
            frame.add(new Button("按钮"+i));
        }

        //设置最佳大小,pack方法
        frame.pack();

        frame.setVisible(true);

GridLayoutDome

Frame frame = new Frame("计算器");

        //1.创建panel对象,存入textfiled组件

        Panel panel =new Panel();
        panel.add(new TextField(30));
        //2.把当前这个panel添加到北边区域
        frame.add(panel,BorderLayout.NORTH);
        //创建一个panle对象,并且设置布局管理器为gridlayout
        Panel panel2 =new Panel();
        panel2.setLayout(new GridLayout(3,5,4,4));

        //王panle中天加内容
        for (int i = 0; i < 10; i++) {
            panel2.add(new Button(i+""));
        }

        panel2.add(new Button("+"));
        panel2.add(new Button("-"));
        panel2.add(new Button("*"));
        panel2.add(new Button("/"));
        panel2.add(new Button("."));
        //panel添加到frame
        frame.add(panel2);


        frame.pack();
        frame.setVisible(true);

BaseComponentDome 基础组件练习

public class BaseComponentDome {
    Frame frame =new Frame();

    TextArea ta =new TextArea(5,20);

    Choice choice=new Choice();

    CheckboxGroup cbg =new CheckboxGroup();

    Checkbox male=new Checkbox("男",cbg,true);
    Checkbox female=new Checkbox("女",cbg,false);

    Checkbox isMarried =new Checkbox("是否已婚?");

    TextField tf =new TextField(20);

    Button ok=new Button("确认");

    List colorList =new List(6,true);


    public void init(){
        //组装界面

        //组装底部
        Box bBox =Box.createHorizontalBox();
        bBox.add(tf);
        bBox.add(ok);

        frame.add(bBox,BorderLayout.SOUTH);

        //组装选择部分
        Box cBox =Box.createHorizontalBox();
        choice.add("红色");
        choice.add("蓝色");
        choice.add("绿色");
        cBox.add(choice);
        cBox.add(male);
        cBox.add(female);
        cBox.add(isMarried);
        //组装文本域和选择部分
        Box topLeft =Box.createVerticalBox();
        topLeft.add(ta);
        topLeft.add(cBox);
        //组装左面和列表框
        Box top =Box.createHorizontalBox();
        colorList.add("红色");
        colorList.add("蓝色");
        colorList.add("绿色");
        top.add(topLeft);
        top.add(colorList);
        frame.add(top);
        frame.pack();
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        new BaseComponentDome().init();
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值