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 加入
还未添加个人简介
评论