注册 登录
编程论坛 J2EE论坛

Java小程序问题!求解答!

daemon1 发布于 2011-10-16 16:46, 688 次点击
class ButtonPanel extends Panel
{
    ButtonPanel(String id)
    {
        setLayout(new BorderLayout());
        add("Center",new Button(id));
    }
   
}
public class Hello extends Applet
{
    Button
        first = new Button("first"),
        second = new Button("second"),
        third = new Button("third");
    Panel cards = new Panel();
    Panel p = new Panel();
    CardLayout c1 = new CardLayout();        
    public void init()
    {
        setLayout(new CardLayout());
        p.setLayout(new FlowLayout());
        p.add(first);
        p.add(second);
        p.add(third);
        cards.setLayout(c1);
  //这三句cards都没有弹出,应该有反应才对啊!为什么n呢?求解,谢谢!
        cards.add("first card",new ButtonPanel("the first one"));           
        cards.add("second card",new ButtonPanel("the second one"));
        cards.add("third card",new ButtonPanel("the third one"));
        add("North",p);
        add("Center",cards);   
    }   
    public boolean action(Event evt,Object arg)
    {
        if(evt.target.equals(first))
            c1.first(cards);
        else if(evt.target.equals(second))
        {
            c1.first(cards);
            c1.next(cards);
        }
        else if(evt.target.equals(third))
            c1.last(cards);
        else
            return super.action(evt, arg);
        return true;
    }
}
2 回复
#2
2011-10-16 17:49
改好了
import java.applet.Applet;
import java.awt.*;



class ButtonPanel extends Panel
{
    ButtonPanel(String id)
    {
        setLayout(new BorderLayout());
        add("Center",new Button(id));
    }
   
}
public class Hello_daemon1 extends Applet
{
    Button
        first = new Button("first"),
        second = new Button("second"),
        third = new Button("third");
    ButtonPanel bpFirst,bpSecond,bpThread;
   
    Panel cards = new Panel();
    Panel p = new Panel();
    CardLayout c1 = new CardLayout();        
    public void init()
    {
   
        p.setLayout(new FlowLayout());
        p.add(first);
        p.add(second);
        p.add(third);
        
        //这三句cards都没有弹出,应该有反应才对啊!为什么n呢?求解,谢谢!
        cards.setLayout(c1);
        bpFirst = new ButtonPanel("the first one");
        bpSecond = new ButtonPanel("the second one");
        bpThread = new ButtonPanel("the third one");
        cards.add("first card",bpFirst);           
        cards.add("second card",bpSecond);
        cards.add("third card",bpThread);
      
        
        add("North",p);
        add("center",cards);   
    }   
   
      public boolean action(Event evt,Object arg)
    {
        if(evt.target.equals(first))
            c1.first(cards);
        else if(evt.target.equals(second))
        {
            c1.first(cards);
            c1.next(cards);
        }
        else if(evt.target.equals(third))
            c1.last(cards);
        else
            return super.action(evt, arg);
        return true;
    }
}
#3
daemon12011-10-16 23:02
回复 2楼 付政委
谢谢!不过我明白这样好像只是分开操作cards而已啊!为什么又能运行呢!求解答!
1