写点什么

第三周作业二

用户头像
Jack
关注
发布于: 2020 年 11 月 08 日

请用组合设计模式编写程

序,打印输出图 1 的窗口,

窗口组件的树结构

程序如下:

Element.java

public class Element {
String name;

public Element(String name) { this.name = name; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public void print() { System.out.println(name); }}
复制代码


Container.java

public class Container extends Element {
private List<Element> elementList = new ArrayList<>();
public Container(String name) { super(name); }
public void add(Element element) { this.elementList.add(element); }
@Override public void print() { System.out.println(name); for (Element e : elementList) { e.print(); } }}
复制代码

Client.java

public class Client {
public static void main(String[] args) { Container winForm = new Container("==WINDOW窗口"); Element picture = new Element("===Logo图片"); Element buttonLogin = new Element("===登录"); Element buttonReg = new Element("===注册"); winForm.add(picture); winForm.add(buttonLogin); winForm.add(buttonReg);
Container farme = new Container("===Farme1"); Element lableName = new Element("====用户名"); Element textBox = new Element("====文本框"); Element lablePwd = new Element("====密码"); Element passWordBox = new Element("====密码框"); Element checkBox = new Element("====复选框"); Element textBoxName = new Element("====记住用户名"); Element linklable = new Element("====忘记密码"); farme.add(lableName); farme.add(textBox); farme.add(lablePwd); farme.add(passWordBox); farme.add(checkBox); farme.add(textBoxName); farme.add(linklable); winForm.add(farme); winForm.print(); }}
复制代码


结果:


用户头像

Jack

关注

还未添加个人签名 2018.03.08 加入

还未添加个人简介

评论

发布
暂无评论
第三周作业二