这是一个非常奇怪的错误,但是每当我尝试在带有JavaFX节点的标签(按钮,复选框等)之外的任何JavaFX节点上放置带下划线的文本时,都不会显示第一个下划线。
一个简单的例子来说明我的观点:
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 400, 400);
TilePane tp = new TilePane();
root.setCenter(tp);
for (int i = 0; i < 10; i++) {
Button b = new Button("Underscores_Do_Not_Show_Right");
tp.getChildren().add(b);
}
primaryStage.setScene(scene);
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎是一个JavaFX错误,但是有人知道解决方法吗?对于复选框,我只需在无文本的复选框旁边放置一个标签。但是,对于按钮,这不是一个选择。
由于Button具有mnemonicParsingProperty,您应该禁用该属性,以避免将下划线解释为助记符。像这样:
b.setMnemonicParsing(false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |