Marek が彼の回答で指摘しているように、css 属性 ID が間違っているため、使用する必要があります-fx-background-position: right center;
以下は、CSS を使用して TextField の右側に画像を追加する方法を示す短い例です。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TextFieldCssSample extends Application {
@Override public void start(Stage stage) throws Exception {
TextField textField = new TextField();
textField.setId("textField");
StackPane layout = new StackPane();
layout.getChildren().addAll(textField);
layout.getStylesheets().add(this.getClass().getResource("textfield.css").toExternalForm());
stage.setScene(new Scene(layout));
stage.show();
}
public static void main(String[] args) { launch(args); }
}
CSS ファイル:
/* textfield.css
place in same location as TextFieldCssSample.java and ensure build system copies it to output directory
image used courtesy of creative commons attribution license: http://www.rockettheme.com/blog/design/1658-free-halloween-icon-pack1
*/
.root {
-fx-padding: 15;
-fx-background-color: cornsilk;
}
#textField {
-fx-background-image:url('http://icons.iconarchive.com/icons/rockettheme/halloween/32/pumpkin-icon.png');
-fx-background-repeat: no-repeat;
-fx-background-position: right center;
-fx-font-size: 20;
}
出力例:

png 画像が jar ファイル内のローカル ファイルである場合、どのようにアクセスまたは参照しますか?
CSSリファレンスのuriセクションによると:
「アドレスは、絶対 URI にすることができます . . . または CSS ファイルの場所に相対的です。」
例えば
- a) css ファイルと画像ファイルを jar ファイルの同じ場所に配置し、
url('pumpkin-icon.png');
ORだけで参照します。
images
b) cssを保持するディレクトリの下のディレクトリに画像ファイルを置き、url('images/pumpkin-icon.png');
ORのように参照します
- c) イメージ ファイルを
images
jar のルートにあるディレクトリに配置し、次のように参照します。url('/images/pumpkin-icon.png');
..
親指定子を使用する相対参照は使用しないでください。たとえば../images/pumpkin-icon.png
、ディスク ファイルには機能しますが、..
指定子は有効な jar プロトコル パスではなく、jar からファイルを抽出しません。