【发布时间】:2015-08-30 00:05:44
【问题描述】:
我正在开发一个 FontViewer 应用程序,它可以根据所选字体样式更改文本的字体。
这是我的应用程序的控制器类
public class FXMLDocumentController implements Initializable {
@FXML
private ListView fontListView;
@FXML
private TextArea fontTextArea;
int[] fontSizes = {34, 28, 24, 20, 18, 16, 14, 12, 11, 10, 9, 8, 7, 6};
String fontText = "";
@Override
public void initialize(URL url, ResourceBundle rb) {
ObservableList<String> fontsList = FXCollections.observableArrayList(Font.getFontNames());
fontListView.setItems(fontsList);
}
@FXML
public void handleMouseClickEvent(MouseEvent mouseEvent) {
changeFont();
}
public void changeFont() {
for (int i = 0; i < fontSizes.length; i++) {
fontText += "<p style='font-family:" + fontListView.getSelectionModel().getSelectedItem() + ";font-size:" + fontSizes[i] + "'>" + "This is Sample Text</p>";
}
fontTextArea.setText(fontText);
}
}
我的应用程序的屏幕截图:
当我使用TextArea 时,它只显示纯 HTML 代码,而不是将 HTML 转换为文本。我应该使用哪个控件来完成此操作?
P.S:我尝试了TextFlow,但它不起作用,因为我需要为所需的文本显示不同的样式和字体大小。
我也查看了WebView,但不明白它如何解决上述问题。
【问题讨论】: