设计一个图形界面具有四个互斥的JRadioButton按钮,按下选项后,画面上部的JTextArea的背景颜色分别变成所选择的颜色
我的程序如下,能帮我看下吗?衷心感谢!!!
这是错误:
F:\study\Java程序设计\上机作业\第三次\Two.java:61: illegal start of expression
public void actionPerformed(ActionEvent e)
                ^
F:\study\Java程序设计\上机作业\第三次\Two.java:72: ';' expected
}
                 ^
F:\study\Java程序设计\上机作业\第三次\Two.java:6: Two should be declared abstract; it does not define actionPerformed(java.awt.event.ActionEvent) in Two
public class Two implements ActionListener
       ^
3 errorsTool completed with exit code 1
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;public class Two implements ActionListener
{
JFrame f;
JPanel p1,p2,p3,p4,p5,p6;
JRadioButton rb1,rb2,rb3,rb4;
CardLayout myCard;
Container contentPane;
public static void main()
{
Two two=new Two();
two.go();
}
void go()
{
f=new JFrame("Color Demo") ;
f.setSize(300,200);
contentPane=f.getContentPane();
myCard=new CardLayout();
contentPane.setLayout(myCard);
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
p4=new JPanel();
p5=new JPanel();
p6=new JPanel();
rb1=new JRadioButton("Yellow");
rb2=new JRadioButton("Green");
rb3=new JRadioButton("Blue");
rb4=new JRadioButton("Pink");
//p5.add(p1);
//p5.add(p2);
//p5.add(p3);
//p5.add(p4);
p6.add(rb1);
p6.add(rb2);
p6.add(rb3);
p6.add(rb4);
ButtonGroup group=new ButtonGroup();
group.add(rb1);
group.add(rb2);
group.add(rb3);
group.add(rb4);
f.setVisible(true);
p1.setBackground(Color.yellow);
p2.setBackground(Color.green);
p3.setBackground(Color.blue);
p4.setBackground(Color.pink);
rb1.addActionListener(this);
rb2.addActionListener(this);
rb3.addActionListener(this);
rb4.addActionListener(this);
contentPane.add(p1,"yellow");
contentPane.add(p1,"green");
contentPane.add(p1,"blue");
contentPane.add(p1,"pink");
public void actionPerformed(ActionEvent e)
{
JRadioButton jrb=(JRadioButton)e.getSource();
if(jrb==rb1)
myCard.show(contentPane,"yellow");
else if (jrb==rb2)
myCard.show(contentPane,"green");
else if(jrb==rb3)
myCard.show(contentPane,"blue");
else
myCard.show(contentPane,"pink");
}
}
}

解决方案 »

  1.   

    把倒数第二行的}移动到public void actionPerformed();行的前面
      

  2.   


    public void actionPerformed(ActionEvent e)
            {
                JRadioButton jrb=(JRadioButton)e.getSource();
                if(jrb==rb1)
                    myCard.show(contentPane,"yellow");
                else if (jrb==rb2)
                    myCard.show(contentPane,"green");
                else if(jrb==rb3)
                    myCard.show(contentPane,"blue");
                else
                    myCard.show(contentPane,"pink");
            }
    移到void go()
    的外面看看
    void go()
    本来就是方法
    你不能在它的里面再定义方法了