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

时间:2011-12-26 16:39:17

标签: java android user-interface 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和整个工具堆栈,可以非常轻松地进入,试验和学习。

3 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:3)

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

正如Apache Pivot site所述:

  

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>

或简单应用程序GUI的another one example

<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>

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

答案 2 :(得分:2)

如果你的动机真的是Android应用程序开发,我建议你不要担心Java GUI,因为两者都是不同的世界。 Android确实使用Java / Object Orientation作为开发语言(sytax和语义),但它并不关心Java GUI apis和其他apis。如果您真的想学习Java桌面GUI,那么很少有名为Swing的软件包。你可以看看那些。

相关问题