我一直試圖顯示一個大字符串作爲警報失敗。JavaFX警報不能適合內容
public void customAlert(String header, String body, ButtonType customBtn) {
clearAlert();
alert.setHeaderText(header);
//alert.setContentText(body);
String content = "";
int counter = 1;
int y=0;
for (int x = 0; x < body.length(); ++x) {
// System.err.println("concat");
if (x > counter * 50 && body.charAt(x) == ' ') {
// System.err.println("concat");
++counter;
for (; y < x; ++y) {
content.concat(Character.toString(body.charAt(y)));
}
content.concat(Character.toString('\n'));
// System.err.println(content);
}
}
alert.getDialogPane().setContent(new Label(content));
alert.getDialogPane().setMaxWidth(500);
if (customBtn != null) {
alert.getButtonTypes().clear();
alert.getButtonTypes().add(customBtn);
}
alert.showAndWait();
}
首先我試着用setContentText(),它沒有顯示整個字符串。然後我使用了alert.getDialogPane()。setContent(new Label(body)); - 但警報框變得比屏幕大。然後我嘗試過濾String添加的換行符,並將maxWidth設置爲alert,但過濾不起作用。
也許這將有助於:http://stackoverflow.com/questions/28937392/javafx-alerts-and-their-大小 – Mark
使用[此處]的異常對話框(http://code.makery.ch/blog/javafx-dialogs- official /)。 – Sedrick