一直以为 javafx 控件很拉,后来发现原来有很好的第三方控件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lcingOnTheCake
V2EX    程序员

一直以为 javafx 控件很拉,后来发现原来有很好的第三方控件

  •  
  •   lcingOnTheCake 14 天前 2134 次点击
    用 javafx 开发了一个小工具,用于将二进制数据转换成 json 并显示出来,使用的控件是 textarea 。运行该工具的机器是双核 2.5GHz 的 windows server 虚拟机,这台虚拟机是堡垒机,所以配置这么差劲,20 年前的个人电脑就是这配置

    当这个工具要显示的 json 达到几 M 时,工具会卡几分钟才把数据显示出来。当然,虽然数据是显示了,但是该工具已经卡到无法操作了。卡的主要原因是 javafx 提供的 textarea 空间控件性能太差。

    之后我把 textarea 换成了 richtextfx 中的 codearea ,运行速度直接提升了几百倍,原本几分钟才能加载的数据现在直接秒显示,非常顺畅。而且还有其他一些好用的功能,比如让文本框带行号等

    javafx 是一项非常好的 GUI 技术,开发效率很高,界面也很好看,还跨平台,但是他原生提供的控件并不是很完美,好在有一些第三方游戏空间可以使,这又增强了我对 javafx 的信心
    shuang
        1
    shuang  
       14 天前
    最近也准备做隔 GUI 程序,0 经验。在 swing 和 javafx 中间选型。
    据说 javafx 社区活跃度没 swing 高,
    并且刚好找到了一个看起来还不错的 swing 的第三方主题,最终选的 swing 。
    midraos
        2
    midraos  
       14 天前
    @shuang 我近一年做的 gui 程序,尝试过 IMGUI 、electron 、tarui 和 WIN32 API 。综合来说,还是 electron 比较好用,使用 vue 可以很轻松的绘制出漂亮的 UI ,后端程序使用 python 、c/c++、java 都行,UI 通过 IPC 与 Nodejs 通信,nodejs 与后端之间通过 RPC 进行服务调用。
    shuang
        3
    shuang  
       14 天前
    @midraos
    前端技术栈肯定更加擅长做 UI 。目前用 java 做 GUI 的比较少了,查到的资料很多都是几年前十几年前的了
    defaw
        4
    defaw  
       14 天前
    可以试试 kotlin compose ,能跑在 jvm 上的 react ,但是更极致,没有 react 的状态管理的一堆毛病, 比较自由
    macaodoll
        5
    macaodoll  
       14 天前
    哟~~大兄弟来考古了呀~~~~
    looplj
        6
    looplj  
       13 天前
    以前也持续关注 JavaFX ,不过自从移出 jdk 以后就不怎么关注了,当年还收藏了很多组件库,controlfx ,formfx ,tornadofx 什么的。
    现在 UI 技术太多了,JavaFX 实在没什么优势,现在让我选的话,应该是 Flutter/CMP/Tarui 三选一。
    Vaspike
        7
    Vaspike  
       13 天前
    kotlin compose 是目前 Java GUI 开发中最现代化的了, 但不支持 32 位
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5718 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 06:22 PVG 14:22 LAX 23:22 JFK 02:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86