2016-05-28 9 views
4

JavaFXオブジェクトを拡張するクラスにCSSスタイルを設定するにはどうすればよいですか?JavaFX CSSクラススタイル

public class DiagramPane extends ScrollPane implements IDiagramEditor { 
    // .... Methods go here 
} 

私はmainメソッドで、次の方法を試してみた:

public class DiagramPane extends ScrollPane implements IDiagramEditor { 
    DiagramPane() { 
     this.setStyle("-fx-background-color: #f8ecc2;-fx-font-size: 8pt;"); 
     setStyle("-fx-background-color: #f8ecc2;-fx-font-size: 8pt;"); 
    } 
} 

答えて

5

.diagram-pane { 
    -fx-background-color: #f8ecc2; 
    -fx-font-size: 8pt; 
} 

CSSファイルに以下の行を追加し、 diagram-paneスタイルクラス

を使用するように DiagramPaneインスタンスを設定します
diagramPane.getStyleClass().clear(); 
diagramPane.getStyleClass().add("diagram-pane"); 
+0

ありがとう! それは私のために働く – user5562650

2

可能性の1つは、ノードの方法setStyleを使用すると言われているものです。それは完全にJavaコードからCSSスタイリングを隔てるよう

public class MyScrollPane extends ScrollPane { 

    public MyScrollPane(){ 
     setStyle("-fx-background-color: blue;"); 
    } 

} 

別の可能性は、

この1が提案アプローチであるCSSスタイルシートを使用します。

注:MyScrollPane.cssは、クラス自体と同じディレクトリに配置されます。

あなたのようなのScrollPaneの既存のCSSクラスを上書きすることができます。このスタイルシートで

public class MyScrollPane extends ScrollPane { 

    public MyScrollPane(){ 
     getStylesheets().add(getClass().getResource("MyScrollPane.css").toExternalForm()); 
    } 

} 

MyScrollPane.java:

.scroll-pane { 
    -fx-background-color: red, white; 
    -fx-background-insets: 0, 2; 
    -fx-padding: 2.0; 
} 

を確認するには

MyScrollPane.cssましたJavaFXのスクロールペインにクラスが存在する場合は、caspian.cssScrollPaneの基本クラスは.scroll-paneです。

また、新しいCSSクラスを定義し、あなたのScrollPaneにそれらを追加することができます

public class MyScrollPane extends ScrollPane { 

    public MyScrollPane(){ 
     getStylesheets().add(getClass().getResource("MyScrollPane.css").toExternalForm()); 
     getStyleClass().add("red-border"); 
    } 

} 

そしてCSSで

.red-border { 
    -fx-background-color: red, white; 
    -fx-background-insets: 0, 2; 
    -fx-padding: 2.0; 
} 

をJavaFXのでCSSスタイルを学ぶために:http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm

また、あなたは、 CSSリファレンスガイドfor JavaFXを確認できます:https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html

関連する問題