簡體   English   中英

如何同步GUI元素?

[英]How do I synchronize GUI-Elements?

我的Java程序有一些問題。 我想使用Observer來同步兩個GUI。 但是我無法同步JComponent / JButton元素。 例如:

我有一個實現觀察者類的GUI類:

public class GUI extends JFrame implements Observer

我有第二個“ GUI”類,它擴展了JButton類並在特定的Button元素上進行了更改。

public class Karte extends JButton{
...
this.setEnabled(false);
...

如何通過Observable同步此按鈕? 我已經嘗試在此類中使用“擴展Observable”,但是對於JButton類,“ setEnabled()”方法是顯式的,這是不可觀察的!

有人可以幫忙嗎?

謝謝。

一種方法是讓Karte 具有 Observable(而不是成為Observable)。

public class Karte extends JButton{

    final Observable obs = new Observable() {
        // override as needed here
    }

    // ...

    Observable asObservable() { return obs; }
}

myKarte.asObservable().addObserver(myGUI);

將合成置於繼承之上是一種很好的做法,但有時無論您是否願意,都只是必需的!

暫無
暫無

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

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