1

アプリケーション MusicPlayer のスタイルを設定する CSS ファイルがあります。私は、sliderText という名前の javafx.scene.text.Text の配列をスタイルしようとしています。しかし、何も機能しません。それを使用する場合でも.text、sliderText の配列を除いて、他のすべてのテキストのスタイルを設定します。これを機能させる方法はありますか?ありがとう

スライダーテキストの私の宣言をここに示します=

public static javafx.scene.text.Text[] sliderText = new Text[10];

また、一般的な質問ですが、javafx と CSS の両方で .setID() を使用するにはどうすればよいですか?

私は次のことを試しました:

 .text {
 -fx-font-size: 32px;
  -fx-font-family: "Arial Black";
-fx-fill: #818181;
-fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
}

そして、それは私が望んでいることを除いて、文字通りすべてを変えます

4

1 に答える 1

3

デフォルトでは、Textオブジェクトにはスタイル クラスが関連付けられていません。(Controlデフォルトのスタイルクラスが設定されているのは のみです。)したがって、ルール(スタイルクラス「テキスト」に適用される)はテキストオブジェクトには適用されません。

JavaFXの基本的な CSS チュートリアルでは、これらすべてをカバーしていますが、簡単に言うと、次のようなことを行う必要があります。

for (Text text : sliderText) {
    text.getStyleClass().add("text");
}

コンストラクター、start()メソッド、または初期化メソッドのいずれかで (アプリケーションがどのようにセットアップされているかを知るには、コードのコンテキストが十分に示されていません)。

あなたの質問について:

javafx と CSS の両方で .setID() を使用するにはどうすればよいですか?

できるよ

someNode.setId("specialNode");

そしてCSSで

#specialNode {
    /* style rules for specialNode here.... */
}

ID は、シーン グラフ内の 1 つのノードに対して一意である必要があります。

于 2015-01-26T02:42:27.003 に答える