我有一个 FXML 文件,其中有一个窗格作为它的条目之一,用于我们程序的输出。我想让这个窗格包含一个 HTMLEditor。我对如何做到这一点有点困惑。该类使用推荐的单例模式,我可以调用控制器来获取窗格。
然后我发现自己必须创建一个内部类,因为 HTMLEditor 不是节点。所以我扩展了矩形来做到这一点,并使用 getChildren.add(htmlEditorWrapper) 尝试将其添加为节点。当然,当我运行程序时,HTMLEditor 并没有出现。
我的问题的要点:如何将 HTMLEditor 添加到窗格(位于 fxml 文件中)?
import javafx.scene.layout.Pane;
import javafx.scene.shape.Rectangle;
import javafx.scene.web.HTMLEditor;
/**
* Gets the controller's outputPane (the console in the gui)
* @author Matt
*
*/
public class OutputPanel{
private static Pane pane;
private static HtmlEditorWrap htmlEditor = new HtmlEditorWrap();
private static final OutputPanel outputPanel = new OutputPanel();
private OutputPanel(){}
public static OutputPanel getInstance(){
pane = Controller.getOutputPane();
pane.getChildren().add(htmlEditor);
return outputPanel;
}
public void clear(){
//htmlEditor.setHtmlText();
}
public static void write(String text){
htmlEditor.setHtmlText(text + "\n");
}
}
class HtmlEditorWrap extends Rectangle{
HTMLEditor htmlEditor = new HTMLEditor();
public HtmlEditorWrap(){
htmlEditor.setLayoutX(200);
htmlEditor.setLayoutY(200);
htmlEditor.setHtmlText("TESTING");
}
public void setHtmlText(String text){
htmlEditor.setHtmlText(text);
}
}