week3 作业 & 手撕单例模式

用户头像
不在调上
关注
发布于: 2020 年 06 月 22 日

作业1



作业二

结果

print WinForm(WINDOW 窗口)

print Picture(LOGO 图片)

print Button(登录)

print Button(注册)

print Frame(Frame1)

print Label(用户名)

print TextBox(文本框)

print Label(密码)

print PasswordBox(密码框)

print CheckBox(复选框)

print TextBox(记住用户名)

print LinkLabel(忘记密码)



public class Composite {


public static void main(String[] args) {
Tables windows1 = new Tables("WinForm(WINDOW 窗口)");
Tables frmaes = new Tables("Frame(FRAME1)");

Data logo = new Data("Picture(LOGO 图片)");
Data login = new Data("Button(登录)");
Data logon = new Data("Button(注册)");
windows1.addNode(logo);
windows1.addNode(login);
windows1.addNode(logon);
windows1.addNode(frmaes);

Data username = new Data("Label(用户名)");
Data textBox = new Data("TextBox(文本框)");
Data passwd = new Data("Label(密码)");
Data passwdBox = new Data("PasswordBox(密码框)");
Data checkBox = new Data("CheckBox(复选框)");
Data rememberUsername = new Data("TextBox(记住用户名)");
Data forgetPasswd = new Data("LinkLabel(忘记密码)");
frmaes.addNode(username);
frmaes.addNode(textBox);
frmaes.addNode(passwd);
frmaes.addNode(passwdBox);
frmaes.addNode(checkBox);
frmaes.addNode(rememberUsername);
frmaes.addNode(forgetPasswd);
windows1.print();
}

}

interface DrawNode{
public void print();
}

class Tables implements DrawNode{
private String info;
private List<DrawNode> nodes = new ArrayList<>();

public Tables(String info) {
this.info = info;
}

protected void addNode(DrawNode node){
nodes.add(node);
}

@Override
public void print() {
System.out.println("print "+info);
nodes.forEach(data -> data.print());
}
}


class Data implements DrawNode{
private String info;

public Data(String info) {
this.info = info;
}

@Override
public void print() {
System.out.println("print "+info);
}
}



发布于: 2020 年 06 月 22 日 阅读数: 29
用户头像

不在调上

关注

还未添加个人签名 2018.04.28 加入

还未添加个人简介

评论

发布
暂无评论
week3 作业& 手撕单例模式