2011-01-24 120 views
0

基本上我有一个构造函数依赖于依赖于第一个构造函数的另一个构造函数。这使得编码非常奇怪。Java构造函数需要一个依赖于依赖于第一个构造函数的另一个构造函数的条件。 (蛇咬尾)

这里是有问题的代码就在这里:

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

这将创建使用StyledDocument中的构造函数,然后使用JTextPane的JTextPane中。

请任何帮助,谢谢!

+0

听起来像你有一些讨厌的耦合。 – 2011-01-24 06:10:59

回答

2

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

为什么不只是这样做

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

这绝对是我会做的(在通用意义上)。你必须有一个文件传递给JTextPane,所以如果你还没有创建一个文件,那么你不能传入它,然后再把它解出来......这在任何OO语言中都是一样的。 – Endophage 2011-01-24 06:34:41

2

你似乎混淆,下面的代码是不是一个构造函数,它是一个​​:

StyledDocument document = textpane.getStyledDocument(); 

返回的对象是通过确切的对象进入JTextPane的构造函数通过:

JTextPane textpane = new JTextPane(document); 
0

如果你真的h大道你可以做

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

但hhafez的答案是更正确的方式来做到这一点。

相关问题