由于图形驱动程序损坏,java组件在windows 8和10或其变体中不可见

由于图形驱动程序损坏,java组件在windows 8和10或其变体中不可见,java,javafx,windows-10,Java,Javafx,Windows 10,我在不同版本的windows(7,8,10)中测试了基于java(javafx)的应用程序,它工作得非常好,但当我尝试在我的客户端机器(windows-10 Home(新安装))上运行它时,它正在运行,但它的内部组件不可见,我唯一能看到的是border、minimize、maximize和close按钮 为方便起见,附于此 是我在我的机器和客户机上分别得到的简单java程序或输出的结果: 然而,当我使用Swing制作相同版本的jar时……它成功了 注意:系统中有JRE的必需版本 以下是源代码::

我在不同版本的windows(7,8,10)中测试了基于java(javafx)的应用程序,它工作得非常好,但当我尝试在我的客户端机器(windows-10 Home(新安装))上运行它时,它正在运行,但它的内部组件不可见,我唯一能看到的是border、minimize、maximize和close按钮

为方便起见,附于此 是我在我的机器和客户机上分别得到的简单java程序或输出的结果:

然而,当我使用Swing制作相同版本的jar时……它成功了

注意:系统中有JRE的必需版本

以下是源代码::: 代码很简单:::

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package hello;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 *
 * @author oa
 */
public class Hello extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(btn);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }

}
/*
*要更改此许可证标题,请在“项目属性”中选择“许可证标题”。
*要更改此模板文件,请选择工具|模板
*然后在编辑器中打开模板。
*/
套餐你好;
导入javafx.application.application;
导入javafx.event.ActionEvent;
导入javafx.event.EventHandler;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.layout.StackPane;
导入javafx.stage.stage;
/**
*
*@author-oa
*/
公共类Hello扩展应用程序{
@凌驾
公共无效开始(阶段primaryStage){
按钮btn=新按钮();
btn.setText(“说‘你好,世界’”);
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
System.out.println(“你好,世界!”);
}
});
StackPane root=新的StackPane();
root.getChildren().add(btn);
场景=新场景(根,300,250);
setTitle(“你好,世界!”);
初级阶段。场景(场景);
primaryStage.show();
}
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
发射(args);
}
}

注意:我能嗅到javafx和windows-10版本之间的冲突,经过一个小时的锻炼,终于找到了解决方案。。。因为javafx依赖于系统上安装的图形卡。。 为了使JavaFX应用程序能够利用JavaFX提供的新硬件加速管道,您的系统必须具有当前市场上广泛可用的GPU之一。如果您的系统不支持硬件加速,那么JavaFX将使用Java2D软件管道。
因此,必须确保其正常工作。在任何情况下,如果javafx已损坏或无法正常工作,那么javafx都无法提供所需的结果。因此,在任何情况下,如果您发现您的图形卡工作不正常,那么只需禁用它(图形卡)。。。javafx随后将给出所需的结果。所以基本上这不是WINDOWS 10和javafx的问题…这是图形相关的问题

你能告诉我这个问题没有用的原因吗???如果需要进一步阐述,请告诉我。问题是javafx的组件在我的客户机(WINDOWS 10 Home)中不可见。然而,在另一台windows10机器中,其工作原理是相同的……具体来说,是最新版本的javax。。。。java热点服务器vm 1.8.0_101