0

基本上我有一个构造函数,它依赖于另一个依赖于第一个构造函数的构造函数。这使得编码变得非常奇怪。

这是有问题的代码:

JTextPane textpane = new JTextPane(document);
StyledDocument document = textpane.getStyledDocument();

这将创建一个 JTextPane,它使用 StyledDocument 构造函数,然后使用 JTextPane。

请提供任何帮助,谢谢!

4

3 回答 3

2

您的代码甚至没有编译,您document在声明之前使用它吗?

为什么不这样做

StyledDocument document = new DefaultStyledDocument(); // or whatever implementation you wish to use
JTextPane textPane = new JTextPane(document);
于 2011-01-24T06:03:54.607 回答
2

您似乎很困惑,以下代码不是构造函数,而是访问器

StyledDocument document = textpane.getStyledDocument();

返回的对象是传递给JTextPanevia 的构造函数的确切对象:

JTextPane textpane = new JTextPane(document);
于 2011-01-24T06:30:16.830 回答
0

如果你真的需要你可以做

JTextPane textpane = new JTextPane(new StyledDocument());
StyledDocument document = textpane.getStyledDocument();

但是hhafez的答案是更正确的方法。

于 2011-01-24T06:36:17.893 回答