草庐IT

java swing 与 mvc : is this pattern indeed possible?

coder 2024-03-02 原文

我是 swing 的新手,但设法创建了一个下降的 gui。
但我的问题是我无法应用引用/教程中建议的模式,主要是 MVC 模式。

是我的问题,还是在JTree中使用SwingWorker,无法将controller/view/model明确分离?
例如,我使用 Swingworker,但我无法在设计中“安装” Controller 。

即控件的 Action 本质上是在内部的 doBackground 方法中,例如按钮的 Action 执行。
所以没有 Controller 类。

swing worker 中的操作结果是更新一个 Jtree,所以我将结果传递给一个我命名为 model 的类,但是这个类必须能够访问 JFrame 内部 Jtree 的 treeModel,即 View , 所以 View 和模型没有明确的分离。

我看了很多教程,但所有介绍 MVC 的教程都有一个简单的例子,而且在大多数情况下, View (只是一些标签!)更新了所有内容。我是否完全感到困惑,或者在使用 swingworker 和 jtree 的 swing 应用程序中集成 MVC 模式是不可能的,或者至少是不容易的?

我说的是实际域数据,而不是在 swing 组件中实现的 MVC。

有人可以帮助我(并让我免于这种可怕的头痛),或者概述如何实现这种设计,或者至少提供一个有用的教程,并提供一个重要的例子?

谢谢

最佳答案

当我构建更大的应用程序(人年开发)时,我们通常将各个组件之上的 MVC 架构抽象为顶级 Controller /模型和 View ,并接受各个组件将是他们自己的个性化 MVC。 GeoffreyZheng 的评价是绝对正确的,这也是我真正喜欢使用 Swing 环境进行开发的原因。也就是说,如果您想要真正的 MVC,您可能需要从各个组件中抽象出来,并以更抽象的术语讨论 View 。

关于java swing 与 mvc : is this pattern indeed possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703087/

有关java swing 与 mvc : is this pattern indeed possible?的更多相关文章

  1. ruby - sinatra 框架的 MVC 模式 - 2

    我想开始使用“Sinatra”框架进行编码,但我找不到该框架的“MVC”模式。是“MVC-Sinatra”模式或框架吗? 最佳答案 您可能想查看Padrino这是一个围绕Sinatra构建的框架,可为您的项目提供更“类似Rails”的感觉,但没有那么多隐藏的魔法。这是使用Sinatra可以做什么的一个很好的例子。虽然如果您需要开始使用这很好,但我个人建议您将它用作学习工具,以对您来说最有意义的方式使用Sinatra构建您自己的应用程序。写一些测试/期望,写一些代码,通过测试-重复:)至于ORM,你还应该结帐Sequel其中(imho

  2. ruby - 在 Sinatra 之上构建 MVC 结构 - 2

    我正在学习Sinatra,我想知道是否有人知道使用Sinatra为项目制作MVC结构的好方法。我有一些想法,但对我来说它们似乎太麻烦了。 最佳答案 Sinatra已经是“VC”——您的View与您的路由(Controller)分离。如果愿意,您可以选择将其分成多个文件;有关更多信息,请参阅此答案(我的):UsingSinatraforlargerprojectsviamultiplefiles要添加“M”(模型),请选择一个数据库框架。有些人喜欢ActiveRecord.有些人喜欢DataMapper.还有更多可供您选择。我个人非常

  3. ruby-on-rails - Rails - 使用 axlsx gem (Keep MVC) 将记录导出到可下载的 excel 文件 - 2

    我已经从https://github.com/randym/axlsx成功安装了axlsxgem这是我用来通过这个gem创建excel文件的Controller代码。但是这段代码没有任何反应,而是显示了一个错误未初始化的mimeclassCoaches::PaymentsControllerparams[:page],:order=>sort_column+""+sort_direction)else@payments=Payment.includes(:member).paginate(:page=>params[:page],:order=>'iddesc')endrespond_

  4. javascript - 如何将 AntiforgeryToken 与 dropzone.js 一起使用,将 MVC 5 与 Vanilla JS 一起使用? - 2

    我现在正试图弄清楚如何使用Dropzone.js和vanillajavascript(无jQuery)发送防伪token。这是我目前的初始化代码:$(document).ready(function(e){varmyDropzone=newDropzone("#myDropzone",{url:"/Media/AjaxUpload",maxFilesize:10,addRemoveLinks:true,maxFiles:1});myDropzone.on("success",function(response){//Dosomepersonalstuff.});myDropzone.o

  5. javascript - 如何在 MVC 中使用 AngularJS 上传文件 - 2

    由于我是AngularJS的新手,我不知道如何使用AngularJS在MVC中上传文件。我试图上传一些没有任何特定类型或扩展名的文件,但失败了。我创建了一个javascript文件,其中有-这是serviceJS-varapp=angular.module("app",[]);app.service('FileUploadService',['$http',function($http){this.uploadFileToUrl=function(file,uploadUrl){varfd=newFormData();fd.append('file',file);$http.post(

  6. javascript - Spring MVC 和 Thymeleaf 资源版本控制 - 2

    我正在尝试使用SpringMvc4进行资源版本控制。我使用thymeleaf模板引擎。但不适用于以下代码。加载页面时,我在查看页面源代码时看不到新版本的Url。那么我的问题是什么代码?我想念什么?@OverridepublicvoidaddResourceHandlers(finalResourceHandlerRegistryregistry){registry.addResourceHandler("/static/theme*//**").addResourceLocations("/resources/static/theme/").setCacheControl(CacheC

  7. asp.net-mvc - 在 ASP.NET MVC 的局部 View 中执行 Javascript - 2

    我在head标签内使用这段JavaScript代码,以便用浏览按钮填充div,以便用户可以上传图像(swfupload)。...varswfu=function(){returnnewSWFUpload({//BackendSettings//settingsgohere...//Toolongtodisplayhere//DebugSettingsdebug:false});}window.onload=swfu;....这很好用,但问题是当我尝试将这段代码放在局部View中时。到目前为止,我还无法让它发挥作用。有没有更有经验的救援人员?谢谢 最佳答案

  8. javascript - 将原始 json 数组生成到 ASP.NET MVC 中的 View 中 - 2

    我正在使用ASP.NETMVC,并且我正在尝试生成一段javascript作为View呈现的一部分。我有一个公开简单类型数组的模型,我想在View中生成一个javascript/json等效数组,以便我可以使用jQuery对其进行操作。所以给定以下模型:publicclassInfo{publicstringName{get;set;}publicintID{get;set;}}publicclassInfoModel{publicInfo[]InfoList{get;set;}}...我想生成一个如下所示的javascript数组:varinfoList=[{Name="...",I

  9. javascript - 将带有 int 列表的对象从 jquery 发布到 .net mvc 3 Controller - 2

    我在通过jQuery将JavaScript对象发布到.netMVC3Controller时遇到困难。我的目标:varpostData={'thing1':"whatever",'thing2':"somethingelse",'thing3':[1,2,3,4]}我的jQuery调用:$.post('',postData,function(data){//stuff});我的View模型:publicclassSubmitThing{publicstringthing1{get;set;}publicstringthing2{get;set;}publicIEnumerablethin

  10. javascript - STS Spring MVC : How to include a JS file in a JSP - 2

    我安装了SpringSourceToolSuite2.8.0。我试图在JSP中包含一个JS文件,使用SpringMVC模板作为起点。我的JSP看起来像这样:HomeHelloworld!a.js在src\main\resources下,看起来像这样:window.alert("A");结果是“Helloworld!”在没有警报的情况下打印:-(我尝试将JS文件放在不同的位置,将src更改为带/不带“/”,甚至在web.xml中添加一个servlet映射以使用“*.js”的“默认”servlet。似乎没有任何效果。我做错了什么? 最佳答案

随机推荐