2015-04-20 165 views
1

我正在使用新的JavaFX警報類(Java 1.8_40)並試圖在展示文本中使用HTML標記,但迄今爲止尚未成功。這是我想要做的一個例子。Javafx警報對話框+ HTML

Alert alert = new Alert(AlertType.INFORMATION); 
alert.setHeaderText("This is an alert!"); 
alert.setContentText("<html>Pay attention, there are <b>HTML</b> tags, here.</html>"); 
alert.showAndWait(); 

有人會知道這是否真的有可能,並給我一個例子嗎?

在此先感謝。

回答

2

我還沒有與新的Alert類很多,但我很確定文本屬性不支持HTML格式。

你可以使用Web視圖來顯示HTML格式的文本:

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.Alert; 
import javafx.scene.control.Alert.AlertType; 
import javafx.scene.control.Button; 
import javafx.scene.layout.StackPane; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 

public class AlertHTMLTest extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     Button button = new Button("Show Alert"); 
     button.setOnAction(e -> { 
      Alert alert = new Alert(AlertType.INFORMATION); 
      alert.setHeaderText("This is an alert!"); 
      WebView webView = new WebView(); 
      webView.getEngine().loadContent("<html>Pay attention, there are <b>HTML</b> tags, here.</html>"); 
      webView.setPrefSize(150, 60); 
      alert.getDialogPane().setContent(webView);; 
      alert.showAndWait(); 
     }); 

     StackPane root = new StackPane(button); 
     Scene scene = new Scene(root, 350, 75); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
+0

感謝很多答案。這很好! –