[英]Share variable between classes - Pane Constructors
我是Java的新手,我想問一個關於類的非常簡單的問題:
我有一堂課,需要Pane的名稱,稍后將對其進行進一步介紹:
private final class CustomDocumentFilter extends DocumentFilter {
private final StyledDocument styledDocument = pane.getStyledDocument();
// etc etc
}
private void cree_ihm() {
Container pane = getContentPane();
((AbstractDocument) pane.getDocument()).setDocumentFilter(new CustomDocumentFilter());
// etc etc
}
由於窗格是在以后定義的,因此肯定無法使用。 我認為問題在於我不太了解如何在函數環境中處理類。
非常感謝您的幫助。
您不能在這樣的字段中使用變量,因此您需要使用構造函數來進行字段分配。
getContentPane()
返回的java.awt.Container
類沒有getStyledDocument()
或getDocument()
方法。 您需要一個JTextPane
。
也不確定為什么要上私人課。
public final class CustomDocumentFilter extends DocumentFilter
{
private StyledDocument styledDocument;
private JTextPane pane;
public CustomDocumentFilter(JTextPane pane) {
this.pane = pane; // Not really necessary
this.styledDocument = pane.getStyledDocument();
}
// Override some DocumentFilter methods here like insert and remove
}
我假設這個方法在另一個類的某個地方?
private void cree_ihm() {
JTextPane pane = new JTextPane(); // <-- Get a JTextPane from somewhere
((AbstractDocument) pane.getDocument()).setDocumentFilter(new CustomDocumentFilter(pane));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.