2014-03-07 45 views
1

使用適當的嚮導創建了一堆JFrame類。實現與jframe類的接口

創建一個接口並決定讓JFrame類實現這個接口。通常情況下,添加一個implements CaptureObserver聲明一個類時,類聲明的紅色下劃線,錯誤是說

System.Bill.Operation.BillForm不是抽象的,不重寫 抽象方法 的onError(COM .lti.civil.CaptureStream,com.lti.civil.CaptureException)在 com.lti.civil.CaptureObserver

我怎樣才能解決這個問題?

回答

2

您需要實現界面中定義的方法。

如果你有這樣的:

public interface CaptureObserver { 
    public void onError(CaptureStream stream, CaptureException exc); 
} 

然後,你需要這樣的:

public class BillForm extends JFrame implements CaptureObserver { 
    // Don't forget your constructor 
    public BillForm() { 
     super(); 
    } 

    @Override 
    public void onError(CaptureStream stream, CaptureException exc) { 
     // Code 
    } 
} 
+0

感謝您sugestn,我現在發現錯誤.. – user3391137

2

那個錯誤意味着你的類實現了接口,但是它並沒有包含該接口定義的所有方法。解決方案:給班級丟失方法。在你的情況下,這個錯誤告訴你你丟失了什麼CaptureObserver的方法,onError(com.lti.civil.CaptureStream,com.lti.civil.CaptureException)


一些無關的問題和建議:

使用相應的嚮導創建了一堆的JFrame類。

如果您是Swing的新手,請不要使用「嚮導」來創建GUI,而應該嘗試手動製作它們。它會讓你更好地瞭解使用該庫。此外,努力創建JPanel而不是JFrames,因爲這會使GUI類具有更大的靈活性。有了一個JPanel,你可以把它變成一個JFrame,或者如果需要的話,一個JDialog,一個的JOptionPane,一個JApplet的,另外的JPanel,一個一個CardLayout的「觀點」,等等

創建一個接口,決定讓JFrame類實現這個接口。

通常最好避免讓GUI /視圖類實現監聽器接口,因爲這會給一個類帶來太多不同的責任。也許這應該是一個匿名的內部類或一個單獨的conctrol類的一部分。

通常情況下,添加一個「實現CaptureObserver」聲明一個類時,類聲明的紅色下劃線,錯誤是說「System.Bill.Operation.BillForm不是抽象的,不重寫抽象方法的onError (com.lti.civil.CaptureStream,com.lti.civil.CaptureException)在com.lti.civil.CaptureObserver「我怎麼解決它。請幫助...

我們已經在上面討論過了。