1
第三周作业二
发布于: 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(); }}复制代码
结果:
划线
评论
复制
发布于: 2020 年 11 月 08 日阅读数: 29
Jack
关注
还未添加个人签名 2018.03.08 加入
还未添加个人简介











评论