私はこれにまったく慣れていません。ドキュメントを読んでもクラスが適切に通信する方法を理解していません。ドリルインするには実際の例が必要だと思います.
JList と JEditorPane が JSplitPane を共有しています。リスト機能は問題ありませんが、私の Jeditorpane は別のクラスにあり、次の方法で必要な文字列を取得しました。
public void setBookmarkPreview(ListSelectionEvent evt) {
bookmarkString = (String)this.getSelectedValue();
//System.out.println(bookmarkString);
これはすべて機能しますが、この文字列を JEditorPane を拡張する「BookmarkPreview」クラスに渡す方法がわかりません。これにより、上記の取得した結果を 2 番目のクラスのエディター ペインに表示できます。
オンラインで読んでみましたが、文脈を理解できません。
私が作成しました
public static String bookmarkString;
リストリスナーメソッドに基づいて更新されると考えていますが、クラス2の結果は「null」を出力するため、明らかに何かが欠けています。
これは、パブリック静的文字列を呼び出そうとした 2 番目のクラスです。
public class BookmarkPreview extends JEditorPane {
public BookmarkPreview() {
BookmarkPane test = new BookmarkPane();
this.setEditable(false);
setText(BookmarkPane.bookmarkString);
System.out.println(BookmarkPane.bookmarkString);
}
}
私の言い回しを使って例を挙げていただければ幸いです。ドキュメントに誘導しても役に立ちません。何年もの間、頭をゼロから包み込もうとしてきたことを保証します。
*更新**
わかりましたゲッター/セッターを作成しました:
public void bookmarkPreview(ListSelectionEvent evt) {
bookmarkString = (String)this.getSelectedValue();
setBookmarkString(bookmarkString);
}
public String getBookmarkString() {
return bookmarkString;
}
public void setBookmarkString(String bookmarkString) {
this.bookmarkString = bookmarkString;
}
それを受け取りたいクラスを更新しました:
public BookmarkPreview() {
BookmarkPane test = new BookmarkPane();
test.getBookmarkString();
this.setEditable(false);
setText(test.getBookmarkString());
System.out.println(test.getBookmarkString());
}
}
JEditorPane にはまだ何も表示されません。