首页 > 编程语言 >JavaFx helloworld 坑

JavaFx helloworld 坑

时间:2023-11-23 19:11:20浏览次数:31  
标签:j2d es2 JavaFx sw IDEA helloworld prism sun

系统 Linux Mint

IDEA 创建的 hello world 项目,用 IDEA 运行就僵住,然而用 mvn clean javafx:run 却能成功————在系统 terminal能成功,在 IDEA 的 Terminal 不行。

不过我也是见怪不怪了,上次 Jetbrains 家的 Rider 运行 Avalonia 能出窗口,但是窗口是花的,到 Avalonia 报了 issue,最后尴尬的发现 dotnet build 后直接在系统 terminal 一切正常。

排查发现在 com.sun.prism.es2.ES2Pipeline 的静态初始化块中调用的 com.sun.prism.es2.X11GLFactory#initialize 函数会僵住,当执行 Class.forName("com.sun.prism.es2.ES2Pipeline") 就会执行到该静态块。

可能所有的 OpenGL 在 IDEA 都容易出问题。

最后在 PrismSettings 找到可以通过设置 tryOrder 避开 ES2,而使用其它的 Pipeline。javafx 共提供了 3 种 Pipeline,缩写分别是 es2 sw j2d,它默认会尝试 es2 sw。

设置 vm 参数为 -Dprism.order=sw,j2d,顺利出现窗口。

j2d 也可以用,但会有一段警告建议用 sw:

WARNING: The prism-j2d pipeline should not be used as the software
fallback pipeline. It is no longer tested nor intended to be used for
on-screen rendering. Please use the prism-sw pipeline instead by setting
the "prism.order" system property to "sw" rather than "j2d".

两个效果差不多。

标签:j2d,es2,JavaFx,sw,IDEA,helloworld,prism,sun
From: https://www.cnblogs.com/inshua/p/17852275.html

相关文章

  • 01 WPF-HelloWorld
    01HelloWorld简介WPF全称:WindowsPresentationFoundationWindows用户界面框架,统一的编程模型、语言和框架,做到了界面设计与后端开发分离。特点:呈现效果不受分辨率的影响基于DirectX3d技术,可以做出炫酷的界面提供UI框架,集成了矢量图形、流动文字支持、3d视觉效果和控件......
  • 银行转账p图手机软件,实现回执单截图生成,用Swing或JavaFX实现
    其实总体用了很少的代码,就是模版图+框架代码实现,模版也是网上的,非常多总体实现的原理还是绘图功能,捕捉用户输入。用户界面(UI):我们可以使用Swing或JavaFX来创建一个窗口界面,允许用户输入所需的信息。数据处理:应用程序将需要处理用户输入,并将这些信息转换成回执单的格式。生......
  • openWRT构建helloworld示例
    概述版本号:OpenWrt18.06.2,r7676-cddd7b4c77helloworld示例参考:OpenWrt:构建helloworld应用1.在package目录下新建helloworld文件夹,存放helloworld应用程序。$treehelloworld/helloworld/├──Makefile#openwrt规则Makefile└──src├──helloworld.c......
  • java helloworld
    test.javapcakagemyclass//这个地方打包,表示类test是归属于myclass包的,而test.java文件是放在myclass文件夹中的,文件夹的名称与包名是对应的publicclasstest{//anapplicationpublicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}......
  • idea在win系统下打包Javafx程序
    1、idea--maven--lifecycle--install(生成jar);2、idea--maven--plugins--javafx--javafx:jlink(生成app.zip,在app目录下的app.bat可以脱离jdk环境运行);3、idea--maven--plugins--javafx---javafx:run(直接运行);4、在idea下终端terminal中直接执行语句即可根据.\target\app\生......
  • CXF学习笔记(2)-HelloWorld!-客户端调用
    上一节中已经成功的发布了一个服务端webservice,这一部分将默认客户端调用webservice这里我们重新建立了一个新的工程CXF-Client,把上一节中列举的jar包都搞过来即可,调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务......
  • CXF学习笔记(1)-HelloWorld!-发布webservice
    1.apache网站下载CXF http://cxf.apache.org/download.html 最新版本2.4.12.创建一个java工程,将以下jar包复制到工程的classpath下 所有的jar包都可以在${CXF_HOME}\lib目录中找到3.定义服务接口HelloWorldService因为这个接口将会被我们暴露为webservice,所以给该......
  • Spring整合使用RMI-HelloWorld例子
    Spring整合RMI的原理客户端的核心是RmiProxyFactoryBean,包含serviceURL属性和serviceInterface属性。通过JRMP访问服务。JRMPJRMP:javaremotemethodprotocol,Java特有的,基于流的协议。 服务端暴露远程服务RmiServiceExporter把任何Spring管理的Bean输出成一个RMI服务。通......
  • [MacOS]Ansible-HelloWorld
    安装pipinstallansible手动创建ansible.cfgsudomkdir/etc/ansible/ansible.cfg查看ansible配置信息ansible--version创建hosts文件cd/etc/ansible/sudotouchhostssudovihosts添加主机IP127.0.0.1ansible是基于ssh协议实现的,所以其配置公私......
  • 鸿蒙极速入门(二)-开发准备和HelloWorld
    一、开发准备本篇博客基于的系统版本:华为官方HarmonyOS版本3.1、OpenHarmony版本4.0Beta开发语言ArkTS语言(推荐)JS语言(支持)Java语言(已放弃支持)从Harmony4.0开始,官方主推ArkTS语言,且不再支持Java语言UI框架-方舟开发框架(ArkUI框架)ArkUI框架介绍个人理解:类似iOS的......