2016-08-15 12 views
2

私はこのエラーを取得しています:以下のようにのJavaFX CSSパースエラー

com.sun.javafx.css.parser.CSSParser parse WARNING: CSS Error parsing file:/filepath/bin/: Expected LBRACE at [-1,-1]

私のコードは次のとおりです。

import javafx.application.Application; 
import javafx.geometry.Insets; 
import javafx.scene.Scene; 
import javafx.scene.layout.GridPane; 
import javafx.scene.layout.StackPane; 
import javafx.scene.text.Text; 
import javafx.stage.Stage; 

public class Main extends Application { 

public static void main(String[] args) { 
    launch(args); 
} 

public void start(Stage primaryStage) throws Exception { 
    StackPane root = new StackPane(); 
    Scene mainScene = new Scene(root, 800, 600); 
    mainScene.getStylesheets().clear(); 
    mainScene.getStylesheets().add("//stylesheet.css"); 
    primaryStage.setTitle("Not Facebook"); 
    primaryStage.setScene(mainScene); 
    primaryStage.show(); 
    //loadGame(primaryStage); 

} 

public void loadGame(Stage primaryStage) { 
    GridPane grid = new GridPane(); 
    grid.setHgap(0); 
    grid.setVgap(0); 
    grid.setPadding(new Insets(10, 10, 10, 10)); 
    Text text = new Text("Hello"); 
    grid.add(text, 5,5); 
    Scene gameScene = new Scene(grid, 800, 600); 
    primaryStage.setScene(gameScene); 
} 

} 
.root { 
    -fx-background-color: #333333; 
} 

私が検索しましたが、誰もが同じ問題と私ドンを持っていませんなぜこれが起こっているのか分かりません。

答えて

1

あなたのスタイルシートへのパスが間違っています。

使用

mainScene.getStylesheets().add("stylesheet.css"); 
           ^^ 

代わりの

mainScene.getStylesheets().add("//stylesheet.css"); 
           ^^ 

あなたも、あなたのアプリケーションのルートクラスパスにスタイルシートの相対的にアクセスするための単一の主要/を必要はありません。 JavaDocから:

The URL is a hierarchical URI of the form [scheme:][//authority][path]. If the URL does not have a [scheme:] component, the URL is considered to be the [path] component only. Any leading '/' character of the [path] is ignored and the [path] is treated as a path relative to the root of the application's classpath.