当前位置: 技术问答>java相关
java.lang.ClassCastException: zu14
来源: 互联网 发布时间:2015-01-06
本文导语: import java.awt.*; import java.awt.event.*; public class zu14 extends Frame {Label c=new Label("I LOVE YOU"); MenuBar bar=new MenuBar(); Menu mu=new Menu("颜色"); MenuItem i1,i2,i3,i4; public void init() { i1=new MenuItem("红色"); i2=new ...
import java.awt.*;
import java.awt.event.*;
public class zu14 extends Frame
{Label c=new Label("I LOVE YOU");
MenuBar bar=new MenuBar();
Menu mu=new Menu("颜色");
MenuItem i1,i2,i3,i4;
public void init()
{
i1=new MenuItem("红色");
i2=new MenuItem("绿色");
i3=new MenuItem("蓝色");
i4=new MenuItem("黑色");
mu.add(i1);
mu.add(i2);
mu.add(i3);
mu.add(new MenuItem("-"));
mu.add(i4);
bar.add(mu);
setMenuBar(bar);
c.setBackground(Color.lightGray);
c.setSize(200,100);
add(c);
i1.addActionListener(new koActionListener());
i2.addActionListener(new koActionListener());
i3.addActionListener(new koActionListener());
i4.addActionListener(new koActionListener());
}
class koActionListener implements ActionListener
{public void actionPerformed(ActionEvent ae)
{if(ae.getSource()==i1)
c.setBackground(Color.red);
if(ae.getSource()==i2)
c.setBackground(Color.green);
if(ae.getSource()==i3)
c.setBackground(Color.blue);
if(ae.getSource()==i4)
c.setBackground(Color.black);
}
}
}
javac zu14.java没有问题,但
appletviewer zu14.htm出现如下错误:
java.lang.ClassCastException: zu14
请各位大虾帮忙!谢谢!
import java.awt.event.*;
public class zu14 extends Frame
{Label c=new Label("I LOVE YOU");
MenuBar bar=new MenuBar();
Menu mu=new Menu("颜色");
MenuItem i1,i2,i3,i4;
public void init()
{
i1=new MenuItem("红色");
i2=new MenuItem("绿色");
i3=new MenuItem("蓝色");
i4=new MenuItem("黑色");
mu.add(i1);
mu.add(i2);
mu.add(i3);
mu.add(new MenuItem("-"));
mu.add(i4);
bar.add(mu);
setMenuBar(bar);
c.setBackground(Color.lightGray);
c.setSize(200,100);
add(c);
i1.addActionListener(new koActionListener());
i2.addActionListener(new koActionListener());
i3.addActionListener(new koActionListener());
i4.addActionListener(new koActionListener());
}
class koActionListener implements ActionListener
{public void actionPerformed(ActionEvent ae)
{if(ae.getSource()==i1)
c.setBackground(Color.red);
if(ae.getSource()==i2)
c.setBackground(Color.green);
if(ae.getSource()==i3)
c.setBackground(Color.blue);
if(ae.getSource()==i4)
c.setBackground(Color.black);
}
}
}
javac zu14.java没有问题,但
appletviewer zu14.htm出现如下错误:
java.lang.ClassCastException: zu14
请各位大虾帮忙!谢谢!
|
光用Applet本身是做不到出现菜单的,因为它根本就没有setMenuBar()这个方法。
你必须在Applet中再创建一个Frame来运行,这样就可以了。
举个简单例子:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class DemoApplet extends Applet {
public void init() {
Button b = new Button("Test");
b.addActionListener(new DemoFrameListener()); // 创建一个按钮,按此按钮出现你定义的Frame
add(b);
}
// DemoFrameListener 是一个内部类用来响应按钮事件
class DemoFrameListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
zu14 testframe = new zu14(); // 创建你的Frame
testframe.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
testframe.dispose(); // 响应frame窗口关闭事件
}
});
testframe.setSize(500, 500); // 设置窗口大小
testframe.show(); // 显示此Frame窗口
}
}
}
另外你的程序中,去掉init()方法,并将init()中的所有语句均放在zu14()的构造函数中即可。
你必须在Applet中再创建一个Frame来运行,这样就可以了。
举个简单例子:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class DemoApplet extends Applet {
public void init() {
Button b = new Button("Test");
b.addActionListener(new DemoFrameListener()); // 创建一个按钮,按此按钮出现你定义的Frame
add(b);
}
// DemoFrameListener 是一个内部类用来响应按钮事件
class DemoFrameListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
zu14 testframe = new zu14(); // 创建你的Frame
testframe.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
testframe.dispose(); // 响应frame窗口关闭事件
}
});
testframe.setSize(500, 500); // 设置窗口大小
testframe.show(); // 显示此Frame窗口
}
}
}
另外你的程序中,去掉init()方法,并将init()中的所有语句均放在zu14()的构造函数中即可。
|
根据thinking in java的说法,不太可能在applet中实现菜单。