簡體   English   中英

實現jframe類的接口

[英]implementing an interface to jframe class

使用適當的向導創建了一堆JFrame類。

創建一個接口並決定使JFrame類實現此接口。 通常,在向類中添加一個implements CaptureObserver語句時,該類聲明用紅色下划線表示,錯誤是

System.Bill.Operation.BillForm不是抽象的,並且不會覆蓋com.lti.civil.CaptureObserver中的抽象方法onError(com.lti.civil.CaptureStream,com.lti.civil.CaptureException)

我該如何解決?

該錯誤的意思是您的類實現了該接口,但不包含該接口定義的所有方法。 解決方案:給類缺少的方法。 就您而言,錯誤是告訴您確切缺少的CaptureObserver方法onError(com.lti.civil.CaptureStream,com.lti.civil.CaptureException)


一些不相​​關的問題和建議:

使用適當的向導創建了一堆JFrame類。

如果您不熟悉Swing,請避免使用“向導”創建GUI,而應嘗試手工制作。 它將使您對使用該庫有更好的了解。 另外,請努力創建JPanels而不是JFrames,因為這將為您的GUI類提供更大的靈活性。 使用JPanel,您可以將其放入JFrame,或者根據需要放入JDialog,JOptionPane,JApplet,另一個JPanel,CardLayout的“視圖”等。

創建一個接口並決定使JFrame類實現此接口。

通常最好避免讓GUI / view類實現偵聽器接口,因為這會使一個類承擔太多不同的責任。 也許這應該是匿名的內部類或單獨的控制類的一部分。

通常,在向類添加“ implements CaptureObserver”語句時,類聲明用紅色下划線標記,錯誤提示“ System.Bill.Operation.BillForm不是抽象的,並且不會覆蓋抽象方法onError(com.lti.civil com.lti.civil.CaptureObserver中的“ .CaptureStream,com.lti.civil.CaptureException)”,我該如何解決。 請幫助...

我們上面已經討論過了。

您需要實現接口中定義的方法。

如果您有這個:

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
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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