现在可以运行起来,不过知道是否满足你的要求~~
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class useCardLayout extends JFrame {
public CardLayout mycard1 = new CardLayout(2,3);//2,3表示与边缘的距离
public JButton bt1= new JButton("key1");
public JButton bt2 = new JButton("key2");
public JButton bt3 = new JButton("key3");
public Container c = this.getContentPane();
useCardLayout(){
super("卡片管理");
setSize(400,300);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
this.add(bt1);
this.add(bt2);
this.add(bt3);
this.setLayout(mycard1); //应该是这样设置Layout吧~
/* c.add("mycard1",bt1);
c.add("mycard1",bt2);
c.add("mycard",bt3);*/
Lis list = new Lis();
bt1.addActionListener(list);
bt2.addActionListener(list);
bt3.addActionListener(list);
setResizable(true);
setVisible(true);
}
class Lis implements ActionListener {
//public static void main(String args[]){ } //我想知道为什么这里会有一个main方法?
//我觉得除非这个是静态内部类,否则
//不应该有静态方法~
public void actionPerformed(ActionEvent e){
Object r=e.getSource();
if(r==bt1 || r==bt2) mycard1.next(c);
else if(r==bt3) mycard1.first(c);
}
}
public static void main(String args[]){
new useCardLayout();
}
}
----------------解决方案--------------------------------------------------------
你不能把内部类做为主类
并且内部类也不能有static的方法和变量
这是规定
----------------解决方案--------------------------------------------------------
我给你8楼的例子不是可以用吗
----------------解决方案--------------------------------------------------------
前辈,为什么你们上面可以不用c.set(cardLayout1);?
----------------解决方案--------------------------------------------------------
什么?
----------------解决方案--------------------------------------------------------
就是说为什么可以不用那个this.getContentPane.setLayout(cardLayout1)
----------------解决方案--------------------------------------------------------
JDK1.5可以直接设置
不用再getContentPane了
----------------解决方案--------------------------------------------------------
是不是c.setLayout()呀?我查过API里边好像是没有 c.set(CardLayout1)~
----------------解决方案--------------------------------------------------------
是不是c.setLayout()呀?我查过API里边好像是没有 c.set(CardLayout1)~
----------------解决方案--------------------------------------------------------
是setLayout
----------------解决方案--------------------------------------------------------