V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AllOfMe
V2EX  ›  程序员

有人使用过 JavaFX 来开发 GUI 程序吗?

  •  
  •   AllOfMe · 2018-08-26 12:57:47 +08:00 · 9770 次点击
    这是一个创建于 2275 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚毕业那会总是拿着 kindle 在上下班的公交车上看编程相关的书,其中有两个 JavaFX 的书让我看的流连忘返,我发现原来 Java 除了 Swing 那复古的 style 以外,居然还能有这么绚丽的 GUI 程序,真是太好看了。
    可惜貌似国内并不是特别火,想问下大家有没有用过 JavaFX 开发过桌面程序呢?

    顺便附上 JavaFX 教程(官方免费 doc 和 guide):
    1, 链接: https://pan.baidu.com/s/18IJJHHB0Pt5CsHTb0nTXiA 密码: qqn7
    2, 链接: https://pan.baidu.com/s/1dJg366atpkQxSIhYoULDaA 密码: uq5b

    21 条回复    2018-08-27 11:32:38 +08:00
    jitongxi
        1
    jitongxi  
       2018-08-26 13:01:06 +08:00
    前年玩过...
    不过桌面 gui 的东西一直不愠不火.
    跟 android 开发差不多一样的手法.
    macfred
        2
    macfred  
       2018-08-26 13:02:08 +08:00 via Android
    除了 jetbrain 家的 ide 外基本没用过 Java 桌面应用了
    AllOfMe
        3
    AllOfMe  
    OP
       2018-08-26 13:33:42 +08:00
    @jitongxi 嗯,我觉得 GUI 比页面还是更有意思,毕竟更接触到客户的操作系统,不会像页面那么约束,受浏览器的限制,只可惜国内还是不太火

    @macfred Jerbrain 的 IDE,用 Java 跨平台的优势就体现出来了!好象很多 java 的 ide 都是用 java 写的,netbeans,eclipse 这些的
    LukeChien
        4
    LukeChien  
       2018-08-26 13:46:08 +08:00 via Android
    很多企业软件还在用 swing
    vjnjc
        5
    vjnjc  
       2018-08-26 13:52:05 +08:00 via Android
    之前还用过 eclipse 的 rich client,也是 Java 程序😂
    starcraft
        6
    starcraft  
       2018-08-26 14:24:57 +08:00 via iPhone
    本来桌面端近年就堪忧,然后 java 的这套一直火不起来,所以基本是凉凉了。
    inframe
        7
    inframe  
       2018-08-26 14:28:27 +08:00 via Android
    gui 的特效要说丰富,node js 肯定不服
    jetbrain 用 swing 完成了一整个 IDE 也不挺好的么
    桌面端的 gui 选项那么多,自己用 Windows 肯定我优先 C#
    玩的开心就好
    springmarker
        8
    springmarker  
       2018-08-26 14:29:02 +08:00 via Android
    看分拆出来的 JavaFX 怎么发展吧
    madNeal
        9
    madNeal  
       2018-08-26 14:39:47 +08:00
    用了一点点 好难用 组件创建和调试都很困难
    AllOfMe
        10
    AllOfMe  
    OP
       2018-08-26 14:47:13 +08:00
    @madNeal 有 scenebuildler,还有类似 fxml,fcss 这种和 flash 一样分离的方式,调试我觉得用 ide 的 debugger 会好排查
    Doodlister
        11
    Doodlister  
       2018-08-26 15:06:47 +08:00 via Android
    做过课设。
    比 swing 好用。
    可惜现在都是 b/s 了,客户端没啥人写了,而且还是用 Java 写。。
    zj299792458
        12
    zj299792458  
       2018-08-26 15:35:48 +08:00 via iPhone
    4 年前 java8 刚出的时候玩过……可惜我不做桌面 GUI
    liuguang
        13
    liuguang  
       2018-08-26 20:13:22 +08:00
    GUI 开发不如用 wpf,
    xiaocyidie
        14
    xiaocyidie  
       2018-08-26 21:45:52 +08:00
    前公司有一个 桌面端程序 就是用这货的,UI 支持拖拽,上手的话当时也查了好多文档来熟悉,国外用的比较多。
    huclengyue
        15
    huclengyue  
       2018-08-26 22:31:17 +08:00 via Android
    idea eclipse 都是 java 开发的
    huclengyue
        16
    huclengyue  
       2018-08-26 22:32:27 +08:00 via Android
    @inframe node js 包太大了。一个小功能就几十 M
    wenzhoou
        17
    wenzhoou  
       2018-08-27 06:48:21 +08:00 via Android
    Silverlight 不火。Adobe air 不火。凭啥 javafx 火呢。用 webview 的话干吗要挑 Java 呢。
    sagaxu
        18
    sagaxu  
       2018-08-27 09:26:34 +08:00 via Android
    @wenzhoou webview 用 java 的,可以把 springboot 那套给内置了
    ioth
        19
    ioth  
       2018-08-27 09:31:37 +08:00
    特效都是给洗脚上田的人看的。
    zzzzbw
        20
    zzzzbw  
       2018-08-27 11:20:44 +08:00
    之前有个日常用的小需求就用了 javafx 实现了,说实话体验实在不好
    zzzzbw
        21
    zzzzbw  
       2018-08-27 11:32:38 +08:00   ❤️ 1
    主要是:
    1.自带的控件少又难用。很多人说 javafx 和安卓类似,但是我觉得比安卓的控件和布局难用多了。而且我接触的安卓还是大学时期玩玩的,javafx 比当时的安卓还要难用。
    2.相关的开源插件实在是少。几乎没什么开源的框架或者项目可以使用或者参考。我当时就用了 github 上 star 数最多的 Material Design 样式组件,还是有挺多 bug 的,其本身扩展功能也不多,主要就是美化了一下样式。

    就我自身来说 javafx 开发体验很不好。
    如果你奔着他徇烂的样子去的,实际上不如 electron 这些好,虽然说打包比较大,但是毕竟还是 web 页面样式好写,也有很多可以用的开源样式
    如果是要和系统交互多的话,还是用 C#之类的写吧。毕竟 javafx 自己和系统交互也不好

    你可以看一眼我用 javafx 写的小工具 https://github.com/zzzzbw/gitPic,目前我也还在用,只能说还能用吧。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1842 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.