用装饰者模式设计按钮样式

xwbbwx110 2012-03-21 06:43:07
怎么用JAVA的装饰者模式 设计一个按钮
如:用装饰者 改变一个按钮上的字体颜色和按钮的样式

刚学 不怎么懂 希望各位前辈 给下源码

谢谢了!
...全文
62 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
安特矮油 2012-03-23
  • 打赏
  • 举报
回复
写了个例子,你比对着自己写吧。

//按钮接口
public interface Button {
public void color();
public void style();
}

//默认button
public class DefaultButton implements Button {

private String color = "default";
private String style = "default sytle";

protected String getColor() {
return color;
}

protected void setColor(String color) {
this.color = color;
}

protected String getStyle() {
return style;
}

protected void setStyle(String style) {
this.style = style;
}

@Override
public void color() {
System.out.println("button color is " + getColor());
}

@Override
public void style() {
System.out.println("button style is " + getStyle());
}

}
//红色按钮
public class RedButton implements Button{

private String color = "red";
private String style = "red sytle";

private DefaultButton db;

public RedButton(DefaultButton db){
this.db = db;
db.setColor(color);
db.setStyle(style);
}

@Override
public void color() {
db.color();
}

@Override
public void style() {
db.style();
}

protected String getColor() {
return color;
}

protected void setColor(String color) {
this.color = color;
}

protected String getStyle() {
return style;
}

protected void setStyle(String style) {
this.style = style;
}

}
//测试类
public class Test{

public static void main(String[] args) {
RedButton rb = new RedButton(new DefaultButton());
rb.color();
rb.style();
}
}

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧