如何使JavaFX应用程序在Retina显示屏上不模糊

9
在MacBook Pro Retina屏幕上,JavaFX应用程序会显得模糊。有没有办法让应用程序显示得更清晰?在一篇博客文章/评论中提到目前的情况是这样的:http://fxexperience.com/2012/11/retina-display-macbook-pro/ 以下是示例fxml:
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.*?>
<?import javafx.scene.control.*?>


<VBox xmlns:fx="http://javafx.com/fxml">
    <MenuBar>
        <Menu text="File">
            <items>
                <MenuItem text="Exit"/>
            </items>
        </Menu>
    </MenuBar>
</VBox>

示例代码:

import javafx.application.Application
import javafx.fxml.FXMLLoader
import javafx.scene.Scene
import javafx.scene.layout.VBox
import javafx.scene.paint.Color
import javafx.stage.Stage

object CreateFX extends App {
    override def main(args: Array[String]) = {
      println("CreateFX starting up...")
      Application.launch(classOf[CreateFX], args: _*)
    }
}

class CreateFX extends Application {
    def start(stage: Stage): Unit = {
        println("start "+stage)

        stage.setTitle("CreateFX")

        val root: VBox = FXMLLoader.load(getClass().getResource("MainScreenVBox.fxml"))//new VBox

        val scene = new Scene(root, 800, 600)
        scene.setFill(Color.GREEN)

        stage.setScene(scene)
        stage.show()
    }
}

结果:

生成的应用程序

Java版本:1.7.0_21

1个回答

5
在同一篇评论文章中,Richard Blair 表示这个问题已经在最新的 JavaFX 版本中得到了修复(可在 Java 8 的 EAP 中下载,下载链接在此)。

我明白了。所以这在Java 7中还没有实现? - Appleshell
JavaFX视网膜支持不太可能被移植到Java 7。目前,Java 7的所有JavaFX支持都处于维护模式,并且新功能(如视网膜支持)仅适用于Java 8+。 - jewelsea
2
是不是只有我觉得最近关于JavaFX的任何问题都可以用这个答案来回答?我希望他们早点发布Java 8! - Craig McMahon
@CraigMcMahon 我宁愿他们将更多的错误修复/新功能移植到JavaFX 2.2中:/ - zhujik
我们是否知道在OpenJFX中是否有此问题的修复程序可用?我最近发现,通过引用OpenJFX源并为文本字段控件创建自定义Skin实现,可以解决IME错误问题。 - Craig McMahon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接