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

我发现了这个问题 - 我将使用一个显示“错误”的图像图标。 用CSS在textField右侧添加小图片

于 2013-05-29T01:47:48.053 回答
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 回答