当我尝试在javafx上打印文本时,会出现一个白色的窗口。显示nullpointerexception错误

时间:2016-04-17 19:45:00

标签: text javafx error-handling nullpointerexception

你好,我不是那么好的编码员。我最近尝试了一个显示dxball scenerio的代码,非常简单。在那里我想打印一个文本,同时显示“得分:0”。我在下面给出了我的代码[它编译得很好,但显示运行时错误],在我朋友的计算机上运行时没有任何错误在输出屏幕上显示文本。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.scene.text.Font;

public class dxball extends Application{

    public void start(Stage stage){

        Group root= new Group();
        Scene scene=new Scene(root,700,500);
        Text t=new Text(20,20,"Score:0");
        t.setFont(Font.font("Verdana", 20));
        t.setFill(Color.BLACK);
        root.getChildren().add(t); 
        Circle ball=new Circle(340,455,15);
        ball.setFill(Color.CORNFLOWERBLUE);

        Rectangle brick1=new Rectangle(200,470,280,30);
        brick1.setFill(Color.PALEGREEN);
        brick1.setStroke(Color.CYAN);

        Rectangle brick2=new Rectangle(100,100,80,40);
        brick2.setFill(Color.CORAL);
        brick2.setStroke(Color.BLACK);

        Rectangle brick3=new Rectangle(200,100,80,40);
        brick3.setFill(Color.CORAL);
        brick3.setStroke(Color.BLACK);

        Rectangle brick4=new Rectangle(300,100,80,40);
        brick4.setFill(Color.CORAL);
        brick4.setStroke(Color.BLACK);

        Rectangle brick5=new Rectangle(400,100,80,40);
        brick5.setFill(Color.CORAL);
        brick5.setStroke(Color.BLACK);

        Rectangle brick6=new Rectangle(500,100,80,40);
        brick6.setFill(Color.CORAL);
        brick6.setStroke(Color.BLACK);

        Rectangle brick7=new Rectangle(250,150,80,40);
        brick7.setFill(Color.CYAN);
        brick7.setStroke(Color.BLACK);

        Rectangle brick8=new Rectangle(350,150,80,40);
        brick8.setFill(Color.CYAN);
        brick8.setStroke(Color.BLACK);

        root.getChildren().add(brick1);
        root.getChildren().add(brick2);
        root.getChildren().add(brick3);
        root.getChildren().add(brick4);
        root.getChildren().add(brick5);
        root.getChildren().add(brick6);        
        root.getChildren().add(brick7);
        root.getChildren().add(brick8);
        root.getChildren().add(ball);

        stage.setTitle("Untitled");
        stage.setScene(scene);
        stage.show();
    }

}

请帮助:( 当我尝试运行出现的代码时,我正在附加图片 enter image description here

1 个答案:

答案 0 :(得分:0)

这不是因为JDK版本。可能是因为您使用的字体不存在于您的系统中。它对我很好。检查Verdana.tff文件是否存在于

  

C:\的Windows \字体

目录。如果没有安装它并运行。