使用设计模式把对话框组件命名为Dialog,经过产品需求分析和功能分析。现发现:对话框(Dialog)包含的内容可以包括:图标、标题、提示内容、确认按钮、取消按钮,关闭按钮等6个内容组成。用Java实现
时间: 2023-11-22 19:54:51 浏览: 124
可以使用建造者模式(Builder Pattern)来实现对话框(Dialog)组件。
首先,我们需要定义对话框(Dialog)类,包含图标、标题、提示内容、确认按钮、取消按钮和关闭按钮等6个内容组成。其中,图标、标题、提示内容等属性都是可选的,可以根据实际需求选择添加或不添加。
```
public class Dialog {
private ImageIcon icon;
private String title;
private String message;
private JButton okButton;
private JButton cancelButton;
private JButton closeButton;
public void setIcon(ImageIcon icon) {
this.icon = icon;
}
public void setTitle(String title) {
this.title = title;
}
public void setMessage(String message) {
this.message = message;
}
public void setOkButton(JButton okButton) {
this.okButton = okButton;
}
public void setCancelButton(JButton cancelButton) {
this.cancelButton = cancelButton;
}
public void setCloseButton(JButton closeButton) {
this.closeButton = closeButton;
}
// 显示对话框
public void show() {
// TODO: 显示对话框的代码
}
}
```
接下来,我们可以定义对话框(Dialog)的建造者(Builder)类,用于创建对话框实例并设置对话框的各个属性。
```
public class DialogBuilder {
private Dialog dialog = new Dialog();
public DialogBuilder setIcon(ImageIcon icon) {
dialog.setIcon(icon);
return this;
}
public DialogBuilder setTitle(String title) {
dialog.setTitle(title);
return this;
}
public DialogBuilder setMessage(String message) {
dialog.setMessage(message);
return this;
}
public DialogBuilder setOkButton(JButton okButton) {
dialog.setOkButton(okButton);
return this;
}
public DialogBuilder setCancelButton(JButton cancelButton) {
dialog.setCancelButton(cancelButton);
return this;
}
public DialogBuilder setCloseButton(JButton closeButton) {
dialog.setCloseButton(closeButton);
return this;
}
public Dialog build() {
return dialog;
}
}
```
最后,我们可以使用对话框(Dialog)建造者(Builder)类创建对话框实例并设置对话框的各个属性,然后调用 show() 方法显示对话框。
```
public class Main {
public static void main(String[] args) {
Dialog dialog = new DialogBuilder()
.setTitle("提示")
.setMessage("是否确认退出?")
.setOkButton(new JButton("确定"))
.setCancelButton(new JButton("取消"))
.setCloseButton(new JButton("关闭"))
.build();
dialog.show();
}
}
```
这样,我们就通过建造者模式实现了对话框(Dialog)组件的创建和设置。
阅读全文