我对此很陌生,尽管阅读了文档,但我不明白类如何正确通信,我想我需要一个工作示例来深入了解它。
我有一个 Jlist 和一个 JEditorPane 共享一个 JSplitPane。列表功能很好,但是我的 Jeditorpane 在另一个类中,我通过以下方式获得了我需要的字符串:
public void setBookmarkPreview(ListSelectionEvent evt) {
bookmarkString = (String)this.getSelectedValue();
//System.out.println(bookmarkString);
这一切都有效,但是我不知道如何将此字符串传递给扩展 JEditorPane 的“BookmarkPreview”类,这样我就可以在第二个类的编辑器窗格中显示上面检索到的结果。
我试过在线阅读,但我无法理解上下文。
我建立
public static String bookmarkString;
认为它将根据我的列表侦听器方法进行更新,但类 2 中的结果打印“null”,所以我显然在这里遗漏了一些东西。
这是我尝试调用公共静态字符串的第二个类
public class BookmarkPreview extends JEditorPane {
public BookmarkPreview() {
BookmarkPane test = new BookmarkPane();
this.setEditable(false);
setText(BookmarkPane.bookmarkString);
System.out.println(BookmarkPane.bookmarkString);
}
}
请,如果您可以使用我的措辞提供一个示例,将不胜感激,将我引导到文档将无济于事,我向您保证,您多年来一直在尝试从头开始围绕它。
*更新**
好的,我已经创建了 getter/setter:
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 中仍然没有出现任何内容。