使用Java创建一个JFrame和可观察对象。

bluesky3月前 ⋅ 35 阅读

ChatGPT的回答仅作参考:

以下是使用Java创建JFrame和可观察对象的示例代码:

```java
import java.util.Observable;
import java.util.Observer;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class ObservableExample extends Observable {
    private String message;

    public void setMessage(String message) {
        this.message = message;
        setChanged();
        notifyObservers();
    }

    public String getMessage() {
        return message;
    }

    public static void main(String[] args) {
        ObservableExample observable = new ObservableExample();
        JFrame frame = new JFrame("Observable Example");
        JLabel label = new JLabel("No message yet");

        frame.add(label);
        frame.pack();
        frame.setVisible(true);

        observable.addObserver(new Observer() {
            @Override
            public void update(Observable o, Object arg) {
                label.setText(((ObservableExample) o).getMessage());
            }
        });

        observable.setMessage("Hello, world!");
    }
}
```

在这个示例中,我们创建了一个名为`ObservableExample`的可观察对象,并在其中定义了一个`message`属性。当`message`属性被设置时,我们调用`setChanged()`方法来标记对象已经改变,并调用`notifyObservers()`方法来通知所有观察者对象。

我们还创建了一个`main()`方法,在其中创建了一个`JFrame`和一个`JLabel`,并将`JLabel`添加到`JFrame`中。我们还创建了一个观察者对象,并将其添加到可观察对象中。当可观察对象的`message`属性被设置时,观察者对象的`update()`方法将被调用,并更新`JLabel`的文本。

最后,我们调用`setMessage()`方法来设置`message`属性,并观察`JLabel`的文本被更新为`Hello, world!`。

全部评论: 0

    相关推荐