私はJavaが初めてで、Java Swing GUIに取り組んでいます。最近、私は次の記事を読みました: JTextArea または JTextPane でのテキストの中央揃え - 水平方向のテキスト配置
内部のソリューションは完全に機能しましたが、概念的な質問がいくつかあります。
オラクルのウェブサイトでインターフェースとクラスの紹介を読みました。インターフェースには空の本体を持つメソッドのセットが含まれていると述べた場合、そのようなインターフェースを実装するクラスは、正常に準拠するためにインターフェースで言及されているすべてのメソッドを宣言する必要があります。
ここで私の質問があります: ドキュメントを読んだ後、StyledDocumentがインターフェイスであることはわかりましたが、次のコードは何を意味するのでしょうか?
StyledDocument doc = textPane.getStyledDocument();
私の解釈では、このコード行が既存の StyledDocument を受け取るように、JTextPane が StyledDocument を内部的に実装していると思います (ただし、インターフェイスのインスタンスを作成できなかったため、インスタンスと呼ぶべきではありません。どのように説明すればよいでしょうか? )。これが true の場合、JTextPane には StyledDocument インターフェイスで定義されたすべてのメソッドが必要です。
上記の段落で正しいですか?
次に、次の 2 行のコードを書かないようにしました。
StyledDocument doc = textPane.getStyledDocument();
doc.setParagraphAttributes(0, doc.getLength(), center, false);
しかし、私は直接使用しました:
textPane.setParagraphAttributes(center, false);
そして、これも完璧に機能しました。
では、2 つの実装に違いはありますか?
私のコードはそうすることをお勧めしますか?
助けてくれてどうもありがとう!