Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于桌面应用程序的Java Swing或Windows窗体?_C#_Java_Winforms_User Interface_Swing - Fatal编程技术网

C# 用于桌面应用程序的Java Swing或Windows窗体?

C# 用于桌面应用程序的Java Swing或Windows窗体?,c#,java,winforms,user-interface,swing,C#,Java,Winforms,User Interface,Swing,我正在编写一个胖客户端应用程序,理想情况下,我希望它是跨平台的,但可能只满足于基于以下条件的Windows: 我在C#方面比Java强得多(尽管我有几年的企业Java经验) 不过,我对Windows窗体或Java Swing都没有做太多的工作,只是针对每一种应用开发了一些玩具应用 我坐在窗户里更舒服 形式比摇摆更重要 我关心Swing应用程序的性能(与Windows窗体相比),但我 想知道过去几年情况是否有所改善 我完全愿意在这两种平台上进行开发……这里没有MS或Java势利。事实上,如果你想

我正在编写一个胖客户端应用程序,理想情况下,我希望它是跨平台的,但可能只满足于基于以下条件的Windows:

  • 我在C#方面比Java强得多(尽管我有几年的企业Java经验)
  • 不过,我对Windows窗体或Java Swing都没有做太多的工作,只是针对每一种应用开发了一些玩具应用 我坐在窗户里更舒服 形式比摇摆更重要
  • 我关心Swing应用程序的性能(与Windows窗体相比),但我 想知道过去几年情况是否有所改善
  • 我完全愿意在这两种平台上进行开发……这里没有MS或Java势利。事实上,如果你想告诉我用Qt、wxWidgets或其他什么来做,我会听你的
如果你们中有人从Windows窗体切换到Swing,最大的障碍是什么

最终,跨平台的最初吸引力是否值得,还是一个更快、更不灵活的Windows应用程序会更好


如果您使用Java Swing,您更喜欢哪个IDE来进行拖放表单布局?

当然,这是一个品味问题,但对于纯windows环境,我更喜欢windows表单(理论上可以尝试通过Mono在其他平台上运行)或WPF(就我而言,这是胖客户端应用程序的最佳选择)。我看到了很多非常丑陋的Swing应用程序,但是它们都是跨平台的。事实上,只要做一点额外的工作,您就可以在每个平台上获得几乎本地的外观。您可以使用NetBeans进行拖放
使用Swing。

看起来您想听到的是:“不要在Winforms中使用Swing keep”,所以这里是这样的:不要使用Swing。如果你对C#感到更舒服,我认为这是你需要去做的唯一原因

Swing应用程序速度很快,整个平台也足够好,但肯定需要一些时间来学习

如果您决定尝试一下,我建议您选择Netbeas或IntellJ Idea,它们都有很棒的GUI构建器


但实际上,只要继续使用C#

下载Netbeans并尝试在其中制作一个简单的Swing应用程序就可以了。GUI编辑器非常好而且功能强大,可以很容易地避免手工设计。然后添加功能,将代码片段放在Netbeans告诉您的位置

我在一天内从头开始做了一个简单的“将Excel表格读入JTable并将JTable上传到数据库”GUI应用程序。我计划只在Netbeans中使用GUI,然后将其导入Eclipse并在那里进行繁重的工作,但是只在Netbeans中使用GUI要容易得多

试试看,你可能会喜欢的


编辑:关于挥杆的速度:已经有了很多改进,基本上它可以非常快速和敏捷。对于程序员来说,通常的问题是创建响应性代码,以便Swing调用它来完成任务,如果遇到这个问题,您需要解决一些技术问题(基本上是在后台线程上执行繁重的任务)

其他答案都没有提到的一点是,应用程序的最终用户期望什么?他们需要一个跨平台的应用程序吗


我快速查看了,所有组件似乎都有Windows XP样式,如果您的软件要在Windows Vista/7上运行,这可能是一个问题(也就是说,在Vista/7下运行时,Swing库可能会重新设置主题,但我找不到任何说明).

由于Visual Studio中更好的设计工具以及msdn和其他来源的帮助,使用表单更容易。 与表单相比,Swing的启动速度似乎较慢。见:
如今,与其他技术相比,Swing在桌面上的使用更少。

我在一家银行使用Netbeans RCP平台开发了一个复杂的低延迟GUI。有很多。我也和WinForm开发人员一起工作

WinForm拥有一些非常丰富、高性能/低占用空间的网格和小部件,尤其是基础设施等商业产品。Netbeans应用程序可以占用大量资源,因此它确实需要成为您的客户花费大部分计算资源的东西

如果它需要精简、界面丰富或快速,那么Winforms就是一个不错的选择

如果您想要一个大型API库来构建和维护一个大型复杂的GUI代码库,并拥有一个完全可移植的技术堆栈,我每次都会选择Java

话虽如此,Netbeans IDE令人震惊!如果你努力的话,你最好访问博客

使用Matisse Graphics editor时,定期将代码检入分支,它通常会发疯,破坏布局,无法撤消。底层的RCP平台依赖性处理——如果它让你陷入困境的话——可能会很有挑战性,但仍然比OSGi好


祝你好运,GUI开发并不像人们说的那么容易

C#规则……当您想快速开发应用程序时,C#(.NET)毫无疑问。例如,您可以将datagrid的选项(灵活性)与糟糕的JTable进行比较。。我相信您不会感到惊讶。

我看到有人说使用winforms进行快速开发,但许多人可能没有意识到的是,您无法将模型-视图-控件设计模式或任何设计模式应用于winforms。Netbeans不允许同时使用设计模式,它隐藏了代码。如果您使用java,不要使用gui构建器,请手动键入。我使用这两种语言,并且更喜欢swing,因为我可以按照自己的意愿对gui代码进行建模。Winforms并没有给你这种自由。java还有更多的库。我花了一个月的时间在专业水平上学习swing开发,观看我买的视频,获取视频

这可能有助于“如果你们中的任何人从Windows窗体切换到Swing,最大的障碍是什么?”问题:Swing糟糕的性能是一个神话。当Swing GUI由不懂Swing的开发人员编写时,它的性能很差。至于你的问题