Java_Day12(中)

浪子不回头ぞ 提交于 2020-03-01 20:23:51

习题1描述

代码

import java.awt.*;

public class CenterPanel {

    public static void main(String[] args) {
        MyFrame mf = new MyFrame("FrameWithPanel", 100, 100, 400, 300);
    }
}

class MyFrame extends Frame {
    private Panel p;
    MyFrame(String name, int x, int y, int width, int height) {
        super(name);
        setLayout(null);        
        setBounds(x, y, width, height);
        setVisible(true);
        p = new Panel(null);
        p.setBounds(width/4, height/4, width/2, height/2);
        p.setBackground(Color.YELLOW);
        setBackground(Color.BLUE);
        add(p);
    }
}

习题2描述

使用 Container 的嵌套实现以下布局

代码:

import java.awt.*;

public class TenButtons {

    public static void main(String[] args) {
        Frame f = new Frame("Java Frame");
        f.setBounds(100, 100, 400, 300);
        f.setBackground(null);
        f.setLayout(new GridLayout(2,1));  //将整体设为两行一列
        Panel p1 = new Panel(new BorderLayout());
        Panel p2 = new Panel(new BorderLayout());
        Panel p11 = new Panel(new GridLayout(2,1));  //添加一个两行一列的panel
        Panel p21 = new Panel(new GridLayout(2,2));  //添加一个两行两列的panel
        p1.add(new Button("BUTTON"), BorderLayout.WEST);
        p1.add(new Button("BUTTON"), BorderLayout.EAST);
        p11.add(new Button("BUTTON"));
        p11.add(new Button("BUTTON"));
        p2.add(new Button("BUTTON"), BorderLayout.WEST);
        p2.add(new Button("BUTTON"), BorderLayout.EAST);
        for (int i = 0; i < 4; i++) {  //添加四个按钮
            p21.add(new Button("BUTTON"));
        }
        p1.add(p11);
        p2.add(p21);
        f.add(p1);
        f.add(p2);
        f.setVisible(true);
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!