使用GUI设计模式,定义内部类作为监听者实现,单击按钮后改变窗口背景颜色,设置一个名为“改变窗口背景”的按钮,JFrame窗口大小为300*200、初始位置为500*200。
时间: 2024-03-20 07:44:28 浏览: 54
好的,下面是一个Java Swing的示例代码,可以实现单击按钮后改变窗口背景颜色的功能。
```java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗口标题和大小
setTitle("My Frame");
setSize(300, 200);
// 设置窗口位置
setLocation(500, 200);
// 设置窗口关闭时的行为
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建一个按钮,用于改变窗口背景颜色
JButton button = new JButton("改变窗口背景");
// 添加按钮的监听器
button.addActionListener(new ColorChanger());
// 将按钮添加到Frame窗口中
add(button);
}
// 内部类,实现按钮的监听器
class ColorChanger implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// 改变窗口背景颜色
getContentPane().setBackground(Color.RED);
}
}
public static void main(String[] args) {
// 创建Frame窗口并显示
MyFrame frame = new MyFrame();
frame.setVisible(true);
}
}
```
在这个示例代码中,我们创建了一个继承自JFrame的MyFrame类,重写了构造方法,在构造方法中设置了窗口标题、大小、位置和关闭时的行为,并且创建了一个按钮,用于改变窗口背景颜色。我们定义了一个内部类ColorChanger,实现了ActionListener接口,在按钮被点击时,调用getContentPane().setBackground(Color.RED)方法改变窗口的背景颜色。最后,我们将按钮添加到Frame窗口中,并显示窗口。
您可以将这段示例代码保存为MyFrame.java文件,并使用javac命令编译它,然后使用java命令运行它,就可以看到Frame窗口和按钮了。当您单击按钮时,窗口的背景颜色会变成红色。
阅读全文