//程序
//package Test_Swing;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CLayoutWindow extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = 2;
/**
* @param args
* 2011.10.15 考研班导学课,数学 ,听过已经 ,今天天气很不赖
* 就是有点冷 ,学习 制作 计算器 初级的
*/
JPanel cards;
CardLayout cl = new CardLayout();
public CLayoutWindow(){
setLayout(new BorderLayout());
JPanel cp = new JPanel();
JButton jb1 = new JButton("switch the card");
jb1.addActionListener(this);
cp.add(jb1);
add("North",cp);
cards = new JPanel();
cards.setLayout(cl);
JPanel j1 = new JPanel();
j1.add(new JButton("1"));
j1.add(new JButton("2"));
j1.add(new JButton("3"));
JPanel j2 = new JPanel();
j2.add(new JTextField("wjj"),20);
cards.add(j1);
cards.add(j2);
add("Center",cards);
}
public void actionPerformed(ActionEvent e){
cl.next(cards);
}
public static void main(String args[]) {
CLayoutWindow c = new CLayoutWindow();
c.setTitle("my first swing");
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.pack();
c.setVisible(true);
}
}
//程序
//错误
Exception in thread "main" java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1004)
at java.awt.Container.add(Container.java:391)
at CLayoutWindow.<init>(CLayoutWindow.java:36)
at CLayoutWindow.main(CLayoutWindow.java:49)//错误
//package Test_Swing;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CLayoutWindow extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = 2;
/**
* @param args
* 2011.10.15 考研班导学课,数学 ,听过已经 ,今天天气很不赖
* 就是有点冷 ,学习 制作 计算器 初级的
*/
JPanel cards;
CardLayout cl = new CardLayout();
public CLayoutWindow(){
setLayout(new BorderLayout());
JPanel cp = new JPanel();
JButton jb1 = new JButton("switch the card");
jb1.addActionListener(this);
cp.add(jb1);
add("North",cp);
cards = new JPanel();
cards.setLayout(cl);
JPanel j1 = new JPanel();
j1.add(new JButton("1"));
j1.add(new JButton("2"));
j1.add(new JButton("3"));
JPanel j2 = new JPanel();
j2.add(new JTextField("wjj"),20);
cards.add(j1);
cards.add(j2);
add("Center",cards);
}
public void actionPerformed(ActionEvent e){
cl.next(cards);
}
public static void main(String args[]) {
CLayoutWindow c = new CLayoutWindow();
c.setTitle("my first swing");
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.pack();
c.setVisible(true);
}
}
//程序
//错误
Exception in thread "main" java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1004)
at java.awt.Container.add(Container.java:391)
at CLayoutWindow.<init>(CLayoutWindow.java:36)
at CLayoutWindow.main(CLayoutWindow.java:49)//错误
add("Center",cards);//需换成add(BorderLayout.CENTER,cards);BorderLayout.NORTH是个常量,类型为int行。
add()方法入参,第一个是int行,你用字符串"North"肯定错误。
cards.add(p2)
出了问题
改成 cards.add("aa",p1) cards.add("aa",p2)
就ok了
add("North",cp)改成add(cp,BorderLayout.NORTH);
add("Center",cards)改成add(cards,BorerLayout.CENTER);好像跟一楼重复了
add(component c,borderlayout.north/west/south/east);