读书人

新建列表出错,该怎么处理

发布时间: 2012-02-23 22:01:35 作者: rapoo

新建列表出错
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Exam5_7 extends java.applet.Applet implements ItemListener,ActionListener
{
CheckboxGroup cb;
Checkbox red,yellow,green,blue;
List ls;
Color co=red;
public void init()
{
cb=new CheckboxGroup();
red=new Checkbox( "红色 ",cb,true);
red.addItemListener(this);
add(red);

yellow=new Checkbox( "黄色 ",cb,false);
yellow.addItemListener(this);
add(yellow);
green=new Checkbox( "绿色 ",cb,false);
green.addItemListener(this);
add(green);
    blue=new Checkbox( "蓝色 ",cb,false);
    blue.addItemListener(this);
    add(blue);
    ls=new List(5);
    ls.add( "绿色 ",1);
    ls.add( "蓝色 ",2);
    ls.add( "橙色 ",3);
    ls.add( "黑色 ",4);
    ls.add( "粉色 ",5);
    ls.addItemListener(this);
    add(ls);
}
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()== "红色 ") co=Color.red;
if(e.getSource()== "黄色 ") co=Color.yellow;
if(e.getSource()== "绿色 ") co=Color.green;
if(e.getSource()== "蓝色 ") co=Color.blue;
ShowStatus(lc.getSelectedItem()+ "顺序号 "+lc.getSelectedIndex());
repaint();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()== "红色 ") co=Color.red;
if(e.getSource()== "蓝色 ") co=Color.blue;
if(e.getSource()== "橙色 ") co=Color.cyan;
if(e.getSource()== "黑色 ") co=Color.black;
if(e.getSource()== "粉色 ") co=Color.DARK_GRAY;
showStatus(lc.getSelectedItem()+ " "+lc.getSelectedIndex());
repaint();
}

public void paint(Graphics g)


{
g.setColor(co);
g.fillRect(20,50,20,20);
g.fillOval(50,50,20,20);

}
}

出现40多个错误,比如green=new Checkbox( "绿色 ",cb,false); 也出错
好像没毛病啊

[解决办法]
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Exam5_7 extends Applet implements ItemListener,ActionListener
{
CheckboxGroup cb;
Checkbox reds,yellows,greens,blues;
List ls;
Color co;
public void init()
{
cb=new CheckboxGroup();
reds=new Checkbox( "红色 ",cb,true);
reds.addItemListener(this);
add(reds);

yellows=new Checkbox( "黄色 ",cb,false);
yellows.addItemListener(this);
add(yellows);
greens=new Checkbox( "绿色 ",cb,false);
greens.addItemListener(this);
add(greens);
blues=new Checkbox( "蓝色 ",cb,false);
blues.addItemListener(this);
add(blues);
ls=new List(5);
ls.add( "绿色 ",1);
ls.add( "蓝色 ",2);
ls.add( "橙色 ",3);
ls.add( "黑色 ",4);
ls.add( "粉色 ",5);
ls.addActionListener(this);
add(ls);
}
public void itemStateChanged(ItemEvent te)
{
Checkbox box = (Checkbox)te.getItemSelectable();

if(box == reds)
co= Color.red;
else if(box ==yellows)
co= Color.yellow;
else if(box == greens)
co= Color.green;
else if(box == blues)
co=Color.blue;
//ShowStatus(lc.getSelectedItem()+ "顺序号 "+lc.getSelectedIndex());
repaint();
}

public void paint(Graphics g)
{
g.setColor(co);
g.fillRect(20,50,20,20);
g.fillOval(50,50,20,20);

}

public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
if(str.equals( "蓝色 "))
co=Color.green;
else if(str.equals( "蓝色 "))
co=Color.blue;
else if(str.equals( "橙色 "))
co=Color.cyan;
else if(str.equals( "黑色 "))
co=Color.black;
else if(str.equals( "粉色 "))
co=Color.DARK_GRAY;
//ShowStatus(lc.getSelectedItem()+ " "+lc.getSelectedIndex());
repaint();
}

public static void main(String args[])
{
Frame f = new Frame();
Exam5_7 ex = new Exam5_7();
f.add(ex, "Center ");
ex.init();
f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});

}
}

总算可以运行了,你上面错误太多啦,滚动列表里的双击才可以运行,我只能改成这样了

showStatus(lc.getSelectedItem()+ " "+lc.getSelectedIndex());

两个错误注释掉了, lc代表什么??如果是滚动列表的话,没有这两个方法的,Choice类才有的



[解决办法]
up

读书人网 >J2SE开发

热点推荐