Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java构造函数要求条件依赖于依赖于第一个构造函数的另一个构造函数。(蛇咬着尾巴)_Java_Jtextpane - Fatal编程技术网

Java构造函数要求条件依赖于依赖于第一个构造函数的另一个构造函数。(蛇咬着尾巴)

Java构造函数要求条件依赖于依赖于第一个构造函数的另一个构造函数。(蛇咬着尾巴),java,jtextpane,Java,Jtextpane,基本上我有一个构造函数,它依赖于另一个构造函数,它依赖于第一个构造函数。这使得编码变得非常奇怪 下面是有问题的代码: JTextPane textpane = new JTextPane(document); StyledDocument document = textpane.getStyledDocument(); 这将创建一个JTextPane,它使用StyledDocument构造函数,然后使用JTextPane 请帮忙,谢谢 您的代码甚至没有编译,您在声明之前使用的是document

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

下面是有问题的代码:

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);

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

为什么不这样做呢

StyledDocument document = new DefaultStyledDocument(); // or whatever implementation you wish to use
JTextPane textPane = new JTextPane(document);

您似乎感到困惑,以下代码不是构造函数,而是一个:

返回的对象是通过以下方式传递给
JTextPane
构造函数的确切对象:

JTextPane textpane = new JTextPane(document);

您似乎感到困惑,以下代码不是构造函数,而是一个:

返回的对象是通过以下方式传递给
JTextPane
构造函数的确切对象:

JTextPane textpane = new JTextPane(document);

如果你真的需要,你可以做

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

但是哈菲兹的答案是更正确的方法。

如果你真的需要,你可以做

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

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

听起来你有一些讨厌的耦合。听起来你有一些讨厌的耦合。这绝对是我会做的(一般意义上)。您必须有一个文档才能传递到JTextPane,因此如果尚未创建文档,则无法将其传入,然后再次将其取出。。。这在任何OO语言中都是一样的。这绝对是我要做的(在一般意义上)。您必须有一个文档才能传递到JTextPane,因此如果尚未创建文档,则无法将其传入,然后再次将其取出。。。这在任何OO语言中都是一样的。