gpt4 book ai didi

Java:从 GUI 获取值

转载 作者:行者123 更新时间:2023-12-02 08:08:01 25 4
gpt4 key购买 nike

在我的应用程序中,用户可以为一些参数选择“分布类型”,然后我创建图表并将其显示给他。这些分布有 3 种不同类型,每种都有自己的参数(如 alpha、beta、概率等)。每个参数可以具有这些分布中的任何一个。

下面的屏幕截图可以清楚地表明我想要描述的内容:

screenshot

分布选项包含在 CardLayout 中,由组合框控制。

当用户按下按钮时,我需要实例化适当的域对象以进行分发。现在,我只是将 ComboBox 项(这是枚举)和 CardLayouted 面板传递给工厂,该工厂选择正确的子面板并实例化正确的对象。但传递 gui 对象似乎是错误的,也使得工厂在任何其他情况下都毫无用处。

但我想不出更好的方法来实例化正确的对象。可能只是一个想法:

  • 让 CardLayouted 面板决定哪个面板位于顶部并实例化根据要求提供适当的对象。我不需要任何工厂来生产这个。但是gui对象做这种逻辑可以吗?如何以正确的方式委托(delegate)域?

所有建议将不胜感激!

最佳答案

Swing 通常对 MVC 以及将数据从域对象推送或拉出到输入/显示控件有良好的支持。我要做的是:

使用“空白”域对象作为其 GUI 模型来实例化放入 CardLayout 的面板。 (或者某种可以从另一层检索模型的定位器。)然后在输入组件上连接更改通知,当输入中的值发生更改时,该更改通知将更新域对象。

然后,当涉及到持久化域对象时,只需从表单面板中检索它即可。

如果需要在两个控件中显示相同的模型值,它们应该共享相同的模型。如果您需要对从代码的较低层显示的对象进行更新,除了域对象之外,您还应该对模型而不是/进行更新。

关于Java:从 GUI 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861590/

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