在java中利用选择菜单选项完成背景颜色更改
时间: 2024-05-14 13:13:07 浏览: 6
好的,对于你的问题,我可以给出以下代码示例来实现Java中选择菜单选项完成背景颜色更改:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BackgroundColorChanger extends JFrame implements ActionListener {
private JMenuBar menuBar;
private JMenu menu;
private JMenuItem menuItemRed, menuItemGreen, menuItemBlue, menuItemYellow, menuItemDefault;
public BackgroundColorChanger() {
super("Background Color Changer");
// 创建菜单选项
menuBar = new JMenuBar();
menu = new JMenu("Background Color");
menuItemRed = new JMenuItem("Red");
menuItemGreen = new JMenuItem("Green");
menuItemBlue = new JMenuItem("Blue");
menuItemYellow = new JMenuItem("Yellow");
menuItemDefault = new JMenuItem("Default");
// 将菜单选项添加到菜单中
menu.add(menuItemRed);
menu.add(menuItemGreen);
menu.add(menuItemBlue);
menu.add(menuItemYellow);
menu.addSeparator();
menu.add(menuItemDefault);
// 将菜单添加到菜单栏中
menuBar.add(menu);
// 将菜单栏设置到窗口上
setJMenuBar(menuBar);
// 添加事件监听器
menuItemRed.addActionListener(this);
menuItemGreen.addActionListener(this);
menuItemBlue.addActionListener(this);
menuItemYellow.addActionListener(this);
menuItemDefault.addActionListener(this);
// 设置窗口的大小、位置和关闭方式
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// 根据不同的选择,设置不同的背景颜色
if (e.getSource() == menuItemRed) {
getContentPane().setBackground(Color.RED);
} else if (e.getSource() == menuItemGreen) {
getContentPane().setBackground(Color.GREEN);
} else if (e.getSource() == menuItemBlue) {
getContentPane().setBackground(Color.BLUE);
} else if (e.getSource() == menuItemYellow) {
getContentPane().setBackground(Color.YELLOW);
} else if (e.getSource() == menuItemDefault) {
getContentPane().setBackground(null);
}
}
public static void main(String[] args) {
new BackgroundColorChanger();
}
}
```
当用户点击菜单选项时,程序会根据选择来设置不同的背景颜色。如果需要设置其他属性,可以根据类库提供的相关方法进行设置。