我有一个程序,基本上就像这个MVC示例中的程序一样:http://www.leepoint.net/notes-java/GUI/structure/40mvc.html
在我的程序中,有一个过程需要相当多的时间来冻结我的图形用户界面。我想在进程运行时持续更新GUI。要做到这一点,我相信我需要使用SwingWorker。我不知道在我的MVC模式中,我应该在哪里调用这个SwingWorker。
我的想法是,我应该在控制器的MultiplyListener actionlistener中运行它。这是正确的吗?
我认为你的SwingWorker
属于Control,我会告诉你为什么。我认为模型应该尽可能与视图无关,并且应该在创建时考虑到它可以用于不同的视图和控件,甚至可以用于完全不同的图形用户界面库,如果需要的话。例如,您目前想要在Swing GUI中使用模型,但是如果以后您想在Android应用程序中使用它呢?为了允许在尽可能少的修改下使用它,大多数特定于Swing的代码,如SwingWorker
应该驻留在Control或View中。
例如,请查看这个答案。
在这种情况下,模型是一个随着时间演变的数学运算,也许是通过迭代。显然,工作人员属于模型,如图所示。setProgress()
方法将通知任何Property tyChangeListener
,并且流程()
可以通知任何其他监听视图,如图所示。
附录:在第二个示例中,工作人员更新了一个不同的模型:名为collection
的图表数据集。反过来,图表会侦听数据集并根据更改进行自我更新。
在引用的示例中,控制器代表模型和视图安装操作侦听器。在此相关示例中,GUI操作侦听器是其各自视图的本地对象。在任何一种情况下,Action
都是封装的合适选择。当模型的内部状态响应于用户发起的操作发生变化时,模型会通知其观察者。
问题内容: 我正在尝试使用Express和ejs渲染模板的模板。至于节点应用程序的标准结构,我有一个app.js文件,其中包含如下功能: 我有some_template.ejs文件,该文件如下所示调用此函数: 而且效果很好。但是,我大约有15-20个这样的函数,并且我不想在app.js中定义所有这些函数。还有其他地方可以定义这些函数并以与我现在相同的方式在模板中调用它们吗?如果是,那么定义它们的方
问题内容: 我在某处读到该函数将空字符串视为,因此这不是从HTML表单验证文本输入和文本框的有效方法。 因此,您可以用来检查用户是否键入了某些内容。 函数将空字符串视为是真的吗? 那我应该在什么情况下使用呢?我应该经常检查是否有东西吗? 例如代替 使用这个 问题答案: isset vs.!empty 自由贸易协定: “ isset()检查变量的值是否包含(False,0或空字符串),但不包含NUL
问题内容: 我使用netfishs 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放入项目的根目录并使用: 在构造函数中: 在功能上: 但是,这是错误信息(实际上,我已经尝试将它几乎可以实现的每个目录都放入): 问题答案: 我知道回答这个问题有点晚了,也许您已经找到了解决方案,但是我将发布我找到的解决方案(在我进行大量Google搜索之后),因
问题内容: 关于组织单元测试,我有两个问题。 我是否必须将测试放在与测试类相同的程序包中,或者可以在不同程序包中组织测试? 例如,如果我具有 有效性 和 其他 测试,即使它们属于同一班级,将它们分成不同的包是否正确? 模拟和存根类呢?我应该将它们与仅包含测试的软件包分开,还是放在一起? 问题答案: 我们执行JUnit测试用例的方法是将它们放在相同的包中,但放在不同的根目录中。由于我们使用Maven
我正在使用vue.js和vuex开发一个应用程序,它使用JWT令牌对JSON API服务器进行身份验证。所以我想知道存放JWT代币的最佳做法是什么? 如果我将其存储在vuex商店中,则页面刷新后它会丢失,因此用户需要再次登录,这不是很方便。 如果我将其存储在浏览器的本地存储中,它会在下次登录之前被弃用,然后假设身份验证令牌的组件会混淆。我不知道如何处理这个问题。 感谢你对此的暗示。
我有一个Spring批处理应用程序。我的Spring批处理应用程序由两个步骤组成。 提取csv数据,添加到记录tbl 提取记录tbl行,根据数据验证解析到Food tbl。 步骤2使用微线程完成 我需要处理记录行tbl,无论是否验证,当前日期时间都会添加回记录行 a.验证失败,DateTime错误代码也将添加到记录行中 b.通过验证,日期时间添加到记录行中。Row也将添加到食品tbl中。 在步骤2
我正在尝试编辑简单的Andorid应用程序build.gradle 我应该添加https://developer.android.com/studio/build/application-id 我应该把andorid{...}放在哪里?
问题内容: 我应该将Maven 2项目放在哪里,以便将Maven放在目标EAR工件中? 问题答案: 本应打包在最终EAR的目录下(旁标准)。 使用Maven EAR插件, 额外文件要包含在EAR中 的默认位置(可以使用参数控制)是。因此,以下操作将起作用(使用默认值):