import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class WindowListener1 extends WindowAdapter {
 public void windowClosing(WindowEvent e) {System.exit(0);}}
public class MyCard extends JFrame implements ActionListener
{
private CardLayout cardLayout;
private String name[]=
{"我不知道","什么鸟屎","难搞了","杀势必呀"};
private JLabel card[]=new JLabel[name.length];
private JPanel cp,sp;
private JButton previous=new JButton("上一句");
private JButton next=new JButton("下一句");
public MyCard()
{
super("又一个无聊的程序");
Container c=getContentPane();
cardLayout=new CardLayout();
cp=new JPanel();
cp.setLayout(cardLayout);
for(int i=0;i<name.length;i++)
{card[i]=new JLabel(name[i]);
cp.add(name[i],card[i]);}
sp=new JPanel();
sp=add(previous);
sp.add(next);
c.setLayout(new FlowLayout(FlowLayout.CENTER));
c.add(sp);
c.add(cp);
previous.addActionListener(this);
next.addActionListener(this);
setSize(300,150);
this.setVisible(true);
//this.setViseble(true);
}
public void actionPerformed(ActionEvent e)
{String command=e.getActionCommand();
if(command.equals(""))
cardLayout.previous(cp);
else if (command.equals(""))
cardLayout.next(cp);
}
public static void main(String args[])
{
MyCard app=new MyCard();
app.addWindowListener(new WindowListener1());
}}编译的时候有错误:不兼容的类型:
找到:java.awt.component
需要: javax.swing.JPanel请各位朋友帮忙看看是什么问题
新手来的我
谢谢

解决方案 »

  1.   

    super("又一个无聊的程序"); 
    Container c=getContentPane(); 
    cardLayout=new CardLayout(); 
    cp=new JPanel(); 
    cp.setLayout(cardLayout); 
    for(int i=0;i <name.length;i++) 
    {card[i]=new JLabel(name[i]); 
    cp.add(name[i],card[i]);} 
    sp=new JPanel(); 
    sp.add(previous);  ----> sp=add(previous) 写错了,不能从JFrame(Component)转换到JPanel
    sp.add(next);
      

  2.   

    我之前定义的sp不就是JPanel的吗??
    怎么会有转换的过程呢??我是新学习的,问的问题自然会有点无聊的
    对你的解答非常感谢!!
      

  3.   

    sp.add(previous);  ----> sp=add(previous) 写错了
    你看下,你的"."号写成了"="号了.我刚才就说了,你的程序在我这里改后就没有问题了