JavaFX警报及其大小

20 浏览
0 Comments

JavaFX警报及其大小

最近,JavaFX引入了Alerts(Java 8u40)。考虑下面的代码示例。如何显示一个完整的消息,而不仅仅是几个单词?我的消息(contentText属性)在末尾被截断,并且Alert在我看来没有正确调整其大小。在我的Linux机器上,使用Oracle JDK 8u40,我只能看到文本“This is a long text. Lorem ipsum dolor sit amet”,在某些情况下这太短了。当然,用户可以手动调整Alert窗口的大小,文本将相应显示,但这对用户来说并不友好。编辑:Windows 7和Linux(来自Oracle的JDK)的屏幕截图:

Windows Alert

Linux Alert

导入javafx.application.Application;

import javafx.scene.control.Alert;

import javafx.scene.control.Alert.AlertType;

import javafx.stage.Stage;

public class TestAlert extends Application {

public static void main(String[] args) {

launch(args);

}

@Override

public void start(Stage primaryStage) throws Exception {

Alert a = new Alert(AlertType.INFORMATION);

a.setTitle("My Title");

a.setHeaderText("My Header Text");

a.setResizable(true);

String version = System.getProperty("java.version");

String content = String.format("Java: %s.\nThis is a long text. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", version);

a.setContentText(content);

a.showAndWait();

}

}

0