Конструктор Java, требующий условие, которое опирается на другой конструктор, который опирается на первый конструктор. (Змея кусает свой хвост) - PullRequest
0 голосов
/ 24 января 2011

В основном у меня есть конструктор, который опирается на другой конструктор, который опирается на первый конструктор.Это делает кодирование довольно странным.

Вот проблемный код прямо здесь:

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

Это создает JTextPane, который использует конструктор StyledDocument, который затем использует JTextPane.Любая помощь, пожалуйста, и спасибо!

Ответы [ 3 ]

2 голосов
/ 24 января 2011

Вы, кажется, запутались, следующий код не является конструктором, это метод доступа :

StyledDocument document = textpane.getStyledDocument();

Возвращенный объект - это точный объект, переданный в конструктор для JTextPane через:

JTextPane textpane = new JTextPane(document);
2 голосов
/ 24 января 2011

Ваш код даже не компилируется, вы используете document до того, как объявите его?

почему бы просто не сделать это

StyledDocument document = new DefaultStyledDocument(); // or whatever implementation you wish to use
JTextPane textPane = new JTextPane(document);
0 голосов
/ 24 января 2011

Если вам действительно нужно, вы можете сделать

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

Но ответ Ххафеза - более правильный способ сделать это.

...