1

画面上のタブに多数のテキストフィールドがあり、それぞれを検証する必要があります。入力にエラーがある場合、特定のフィールドに入力エラーがあることを示す何らかの表示が必要です。

すべての文化が赤い境界線がエラーを意味することを理解しているわけではないため、「エラー」というテキストを近く、上、または横に配置する必要があります。たとえば、Java Swingのように、テキスト フィールドの上にタイトル付きの境界線を赤で表示して、「エラー」と表示します。したがって、タブコントローラーの基本クラスであるTabControllerには、次のようなメソッドがあります

validateNumber(TextField field, String validRangeRegex); 
validateIpaddress(TextField field, String validRangeRegex); 

この質問でも同じことが尋ねられますが、解決策には StackPane からのサブクラス化が含まれます。 JavaFX 2 の GroupBox / TitledBorder?

TextField からサブクラス化せずにタイトル付きボーダーを実装するにはどうすればよいですか?

生のJavaFXでそれができない場合、JavaScriptハンドラーがテキストフィールドに「エラー」を書き込むことができるかどうか疑問に思っていましたか? http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/introduction_to_fxml.html#script_event_handlers

4

2 に答える 2

0

テキストボックスに赤い背景色のエラースタイルクラスを与えることはできませんか? エラーが発生したテキストボックスにツールチップをインストールしますか?

これは直接的な答えではないかもしれませんが、サブクラス化なしでは不可能だと思います。

ツールチップのインストール:

TextBox t = (TextBox) o;
t.setTooltip(new Tooltip("Please enter a value"));
t.getStyleClass().add("error");

CSS:

.error {
    -fx-background-color: #FBE3E4;
    -fx-text-fill:#8a1f11;
}
于 2013-05-24T15:03:17.193 に答える