java GUI 改变背景颜色

运行编译后 安“文件”里“change colour”中选“red”“blue”应该能实现窗口中背景色的改变
可是我这个 即没报错 也没变色
求高手帮忙改改啊 谢谢啦!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Menueg extends JFrame implements ActionListener{
private JMenuBar menubar;
private JMenuItem menuItem,a,b,c;
private JMenu menu,submenu;
private JTextArea text;
private JScrollPane scrollPane;
private JRadioButtonMenuItem button1,button2,button3;

public Menueg(){
super("Menueg");
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
text = new JTextArea(5,30);
scrollPane = new JScrollPane(text);
cp.add(scrollPane,BorderLayout.CENTER);

menubar = new JMenuBar();
setJMenuBar(menubar);
menu = new JMenu("文件"); //文件菜单
menubar.add(menu);

submenu = new JMenu("change color");
submenu.addActionListener(this);
submenu.setActionCommand("change color");
menu.add(submenu);

a = new JMenuItem("red");
a.addActionListener(this);
a.setActionCommand("red");
submenu.add(a);
b = new JMenuItem("blue");
b.addActionListener(this);
b.setActionCommand("blue");
submenu.add(b);

// ButtonGroup group = new ButtonGroup();

/* ButtonGroup group = new ButtonGroup();
button1 = new JRadioButtonMenuItem("red");
button1.addActionListener(this);
button1.setActionCommand("red");
button1.setSelected(true);
button2 = new JRadioButtonMenuItem("blue");
button2.addActionListener(this);
button2.setActionCommand("blue");
button2.setSelected(true);
group.add(button1);
submenu.add(button1);
group.add(button2);
submenu.add(button2);

*/

menuItem = new JMenuItem("标签");
menuItem.addActionListener(this);
menuItem.setActionCommand("标签");
menu.add(menuItem);

menu = new JMenu("编辑"); //编辑菜单
menubar.add(menu);

}
public void actionPerformed(ActionEvent e) {
String a = e.getActionCommand();
if(a.equals("red")){
this.getContentPane().setBackground(Color.RED);
}
if(a.equals("blue")){
this.getContentPane().setBackground(Color.BLUE);
}

}

public static void main(String []args){
Menueg eg = new Menueg();
eg.show();
}

}

应该是改变文本背景色:(下面是我改了一下的代码,应该是你的效果了如果我没理解错的话)
package gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Menueg extends JFrame implements ActionListener{
private JMenuBar menubar;
private JMenuItem menuItem,a,b;
private JMenu menu,submenu;
private JTextArea text;
private JScrollPane scrollPane;
public Menueg(){
super("Menueg");
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();

text = new JTextArea(5,30);

scrollPane = new JScrollPane(text);
cp.add(scrollPane,BorderLayout.CENTER);

menubar = new JMenuBar();
setJMenuBar(menubar);
menu = new JMenu("文件"); //文件菜单
menubar.add(menu);

submenu = new JMenu("change color");
submenu.addActionListener(this);
submenu.setActionCommand("change color");
menu.add(submenu);

a = new JMenuItem("red");
a.addActionListener(this);
a.setActionCommand("red");
submenu.add(a);
b = new JMenuItem("blue");
b.addActionListener(this);
b.setActionCommand("blue");
submenu.add(b);

// ButtonGroup group = new ButtonGroup();

/* ButtonGroup group = new ButtonGroup();
button1 = new JRadioButtonMenuItem("red");
button1.addActionListener(this);
button1.setActionCommand("red");
button1.setSelected(true);
button2 = new JRadioButtonMenuItem("blue");
button2.addActionListener(this);
button2.setActionCommand("blue");
button2.setSelected(true);
group.add(button1);
submenu.add(button1);
group.add(button2);
submenu.add(button2);

*/

menuItem = new JMenuItem("标签");
menuItem.addActionListener(this);
menuItem.setActionCommand("标签");
menu.add(menuItem);

menu = new JMenu("编辑"); //编辑菜单
menubar.add(menu);

}
public void actionPerformed(ActionEvent e) {
String a = e.getActionCommand();
if(a.equals("red")){
// this.getContentPane().setBackground(Color.RED);
this.text.setBackground(Color.RED);
}
if(a.equals("blue")){
// this.getContentPane().setBackground(Color.BLUE);
this.text.setBackground(Color.BLUE);
}
}

public static void main(String []args){
Menueg eg = new Menueg();
eg.setVisible(true);
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-11
if(a.equals("red")){
this.getContentPane().setBackground(Color.RED);
}
if(a.equals("blue")){
this.getContentPane().setBackground(Color.BLUE);
}
改成
if(e==button1){
//set Red
}
else if(e==button2){
//set Blue
}