Java桌面开发框架类似于Android?

Bri*_*acy 5 java user-interface android frameworks desktop-application

我最近潜入了用Java开发Android应用程序.这对我来说都是全新的,因为我的经验是使用PHP进行Web开发.但我需要很快适应桌面环境(即Windows).

为了简化学习曲线,有没有类似于Android框架的Java桌面开发框架?对于桌面应用程序,您会向那些只有真正的Java/GUI体验的人推荐哪些Java GUI和/或MVC框架,工具包和/或库?

笔记

  1. 虽然提供GUI管理,小部件等的单个统一框架会很好,但它并不重要; 我只是在寻找一些关于基本应用程序框架的建议,以帮助我入门,以及一个可能与该框架配合良好的GUI库.

  2. 如果我详细说明我正在尝试做什么,也许会有所帮助.我的目标是构建一个相当基本的Android应用程序,用于创建和管理某些记录,这些记录存储在本地,但可以与远程服务器同步.然后我需要一个位于Windows系统托盘中的桌面应用程序,然后单击它以弹出一个管理器窗口,该窗口提供与Android应用程序类似的功能.您会在桌面端建议哪些库来实现这些目标?

  3. 我喜欢在面向桌面的框架中找到的Android框架中的一些东西:

    • Android为您完成了大量的样板工作,您只需填写使您的应用独特的规则.

    • Android允许您使用XML文件来描述演示文稿的物理布局,这对于将处理用户交互的代码与描述布局的代码分开是很好的.

    • Android提供了一个非常用户友好的SDK和整个工具堆栈,使其非常容易进入,试验和学习.

Dav*_*ton 5

没有什么比桌面的Android GUI /架构更像是真的了.

两个Java桌面播放器是Swing(原始的跨平台GUI)和SWT(Eclipse和本机组件).Griffon是一个桌面Groovy MVC框架,它抽象了很多工作.

根据您的需要,在Eclipse或NetBeans中构建富客户端是一种选择.

构建一个基于Web的丰富平台甚至可能有意义; 您可以使用任何数量的Java Web技术与嵌入式服务器一起分发 - 这通常是最方便的,特别是如果您希望能够跨平台托管相同的功能,或者将其作为服务推广,同时仍允许本地部署.


ezp*_*sso 3

好吧,您可以尝试一下 Apache Pivot。它使用 XML 文件来定义用户界面的内容。UI 类包括窗口、对话框、按钮、列表、文本输入、布局、拖放等。

正如Apache Pivot 网站所述:

Pivot 允许开发人员使用 Java 或任何其他 JVM 语言(例如 JavaScript、Groovy 或 Scala)轻松构建具有视觉吸引力的跨平台连接应用程序。

Pivot 使开发人员能够使用他们已知的工具构建解决方案,从而缩短交付时间并减少技术蔓延。

下面是用于创建“Hello Word”应用程序 UI 的 XML 示例:

<Window title="Hello BXML!" maximized="true"
            xmlns:bxml="http://pivot.apache.org/bxml"
            xmlns="org.apache.pivot.wtk">
            <Label text="Hello BXML!"
                styles="{font:'Arial bold 24', color:'#ff0000',
                    horizontalAlignment:'center', verticalAlignment:'center'}"/>
</Window>
Run Code Online (Sandbox Code Playgroud)

或者另一个简单应用程序 GUI 的示例:

<Window title="Hello" maximized="true"
    xmlns:wtkx="http://pivot.apache.org/wtkx"
    xmlns="org.apache.pivot.wtk">
    <content>
        <BoxPane styles="{padding:4, horizontalAlignment:'center', verticalAlignment:'center'}">
            <Label wtkx:id="label1" text="Please enter your name"
              styles="{font:'Arial 20', color:'#ff0000',
                  horizontalAlignment:'center', verticalAlignment:'center'}"/>
              <TextInput wtkx:id="text1"  /> 
              <PushButton wtkx:id="button1" buttonData="Enter"/>
        </BoxPane>
    </content>
</Window>
Run Code Online (Sandbox Code Playgroud)

它在某种程度上类似于 Android GUI 架构。