簡體   English   中英

在類之間共享變量-窗格構造函數

[英]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
}

由於窗格是在以后定義的,因此肯定無法使用。 我認為問題在於我不太了解如何在函數環境中處理類。

非常感謝您的幫助。

  1. 您不能在這樣的字段中使用變量,因此您需要使用構造函數來進行字段分配。

  2. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM