0

基本的に、最初のコンストラクターに依存する別のコンストラクターに依存するコンストラクターがあります。これにより、コーディングがかなり奇妙になります。

問題のあるコードは次のとおりです。

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

これにより、StyledDocument コンストラクターを使用する JTextPane が作成され、次に 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();

JTextPane返されるオブジェクトは、ビアのコンストラクターに渡された正確なオブジェクトです。

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 に答える