基本上我有一个构造函数,它依赖于另一个依赖于第一个构造函数的构造函数。这使得编码变得非常奇怪。
这是有问题的代码:
JTextPane textpane = new JTextPane(document);
StyledDocument document = textpane.getStyledDocument();
这将创建一个 JTextPane,它使用 StyledDocument 构造函数,然后使用 JTextPane。
请提供任何帮助,谢谢!
您的代码甚至没有编译,您document
在声明之前使用它吗?
为什么不这样做
StyledDocument document = new DefaultStyledDocument(); // or whatever implementation you wish to use
JTextPane textPane = new JTextPane(document);
您似乎很困惑,以下代码不是构造函数,而是访问器:
StyledDocument document = textpane.getStyledDocument();
返回的对象是传递给JTextPane
via 的构造函数的确切对象:
JTextPane textpane = new JTextPane(document);
如果你真的需要你可以做
JTextPane textpane = new JTextPane(new StyledDocument());
StyledDocument document = textpane.getStyledDocument();
但是hhafez的答案是更正确的方法。