gpt4 book ai didi

java - java SWING应用程序的设计问题

转载 作者:行者123 更新时间:2023-12-01 15:56:44 26 4
gpt4 key购买 nike

注意:这是我正在参加的 SWING 类(class)。

我的任务是制作一个简单的图形包(绘制圆形、正方形等)。

我正在考虑使用多个对话框来输入形状参数,即:

点有 x,y圆有 x,y,半径矩形有 x,y,宽度,高度等等

我正在考虑使用 X、Y 创建一个 super 对话框类并扩展它以允许宽度、高度或半径等。

例如,矩形对话框将使用所需的附加参数调用 super 构造函数:

public abstract class XYDialog extends JFrame {
public XYDialog(PARAMETERS ... params) {
// build the dialog by iterating through PARAMETERS
}
}


public class RectangleDialog extends XYDialog {
public RectangleDialog() {
super(PARAMETERS.WIDTH, PARAMETERS.HEIGHT);
}
}

然后父类(super class)负责构建GUI

这看起来是一个合理的方法吗?这有道理吗?

谢谢

最佳答案

是的,我认为这是一个很好的解决方案。但是,如前所述,请重新考虑类的命名。如果扩展 JFrame,请将其称为 SomethingFrame。如果 PARAMETERS 是普通类,则不应大写。

我还建议扩展 JPanel 而不是 JFrame,并让实例化这些类的人决定是将它们放入 JFrame 还是 JDialog。 JFrame 创建一个全新的窗口,并且您的应用程序通常只有一个主窗口,而对话框和面板是动态创建的。

关于java - java SWING应用程序的设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4910493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com