我想让下面白色区域用卡片布局,对上面的菜单项做出反应,选择不同菜单项显示不同的页
界面代码如下:高手帮忙啊package gui;import handle.Sql;import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.TextArea;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;public class Student extends JFrame { /**
 * 
 */

private static final long serialVersionUID = 1L;
JMenuBar jmb;
JMenu jm1,jm2,jm3,jm4;
JMenuItem  jmi1,jmi2,jmi3,jmi4;
JPanel jp,jptab;
JButton img ;
Container con = this.getContentPane();
JButton jlb = new JButton("安全退出");
JLabel jlb1,jlb2,jlb3,jlb4,jlb5;
Sql sql = new Sql();
String name;
StuListener sl = new StuListener(this);

CardLayout myCard = null;
JPanel jpc = null;

Student(String name){

this.setTitle("欢迎"+name+"同学登录");
this.setSize(900,700);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
handle.SetLocation.centerShell(this);
this.setResizable(false);
this.name =name;
initialize();



}
private void initialize(){
jmb = new JMenuBar();

jmb.setBackground(Color.magenta);//实例化组件并添加监听
jm1 = new JMenu("信息查询");

jm2 = new JMenu("修改信息");
jm3 = new JMenu("选修课程");

jmi1 = new JMenu("个人帐号信息");
jmi1.addItemListener(sl);
jmi2 = new JMenu("成绩查询");
jmi2.addItemListener(sl);
jmi3 = new JMenu("密码修改");
jmi4 = new JMenu("学期选课");

jm1.add(jmi1);
jm1.add(jmi2);


jm2.add(jmi3);
jm3.add(jmi4);
jmb.add(jm1);
jmb.add(jm2);
jmb.add(jm3);
this.setJMenuBar(jmb);

con.setBackground(Color.white);

jlb.setForeground(Color.blue);
jlb.setBounds(750,10,100, 30);
    con.setLayout(null);

String[] str = sql.getInfo(name);

jlb1 = new JLabel("学  号:"+str[0]);
jlb1.setBounds(230,20,200,20);
jlb2 = new JLabel("姓  名:"+str[1]);
jlb2.setBounds(230,60,200,20);
jlb3 = new JLabel("年  龄:"+str[2]);
jlb3.setBounds(230,100,200,20);

jlb4 = new JLabel("电  话:"+str[3]);
jlb4.setBounds(230,140,200,20);
String dpt;
if(str[4].equals(1+""))
dpt="信息技术学院";
else dpt="网络工程";
jlb5 = new JLabel("学  院:"+dpt);
jlb5.setBounds(230,180,200,20);


jp = new JPanel();

jp.setBounds(0,0,900,200);

img = new JButton();
img.setBounds(0,0,200,200);
img.setIcon(new ImageIcon("img/"+name+".jpg"));

jp.setLayout(null);
jp.setBackground(Color.pink);
jp.add(img);
jp.add(jlb1);
jp.add(jlb2);
jp.add(jlb3);
jp.add(jlb4);
jp.add(jlb5);
jp.add(jlb);
jlb.addActionListener(sl);

con.add(jp);
//con.add(getPanel(),BorderLayout.CENTER);

}
JPanel getPanel(){
jpc = new JPanel();

 myCard = new CardLayout();
jptab.setLayout(myCard);
JPanel jp1 = new JPanel();
jp1.add(new JLabel("11111111"));
jpc.add(jp1,"second");

JPanel jp2 = new JPanel();
jp2.add(new JButton("lalallallalal"));
jp2.setBackground(Color.blue);

jpc.add(jp2,"first");

return jp;

}

/*public static void main(String [] args){
new Student("dfsda");
} */}

解决方案 »

  1.   

    package gui;import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Graphics;
    import java.awt.TextArea;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;public class Student extends JFrame {
    private static final long serialVersionUID = 1L;
    JMenuBar jmb;
    JMenu jm1,jm2,jm3,jm4;
    JMenuItem  jmi1,jmi2,jmi3,jmi4;
    JPanel jp,jptab;
    JButton img ;
    Container con = this.getContentPane();
    JButton jlb = new JButton("安全退出");
    JLabel jlb1,jlb2,jlb3,jlb4,jlb5;

    String name;
    CardLayout myCard = null;
    JPanel jpc = null;

    Student(String name){

    this.setTitle("欢迎"+name+"同学登录");
    this.setSize(900,700);
    this.setVisible(true);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setResizable(false);
    this.name =name;
    initialize();
    }
    private void initialize(){
    jmb = new JMenuBar();
    jm1 = new JMenu("信息查询");
    jm2 = new JMenu("修改信息");
    jm3 = new JMenu("选修课程");

    jmi1 = new JMenu("个人帐号信息");
    jmi2 = new JMenu("成绩查询");
    jmi3 = new JMenu("密码修改");
    jmi4 = new JMenu("学期选课");

    jm1.add(jmi1);
    jm1.add(jmi2);


    jm2.add(jmi3);
    jm3.add(jmi4);
    jmb.add(jm1);
    jmb.add(jm2);
    jmb.add(jm3);
    this.setJMenuBar(jmb);

    con.setBackground(Color.white);

    jlb.setForeground(Color.blue);
    jlb.setBounds(750,10,100, 30);
            con.setLayout(null);
    jlb1 = new JLabel("学  号:");
    jlb1.setBounds(230,20,200,20);
    jlb2 = new JLabel("姓  名:");
    jlb2.setBounds(230,60,200,20);
    jlb3 = new JLabel("年  龄:");
    jlb3.setBounds(230,100,200,20);

    jlb4 = new JLabel("电  话:");
    jlb4.setBounds(230,140,200,20);

    jlb5 = new JLabel("学  院:");
    jlb5.setBounds(230,180,200,20);


    jp = new JPanel();

    jp.setBounds(0,0,900,200);

    jp.setLayout(null);
    jp.setBackground(Color.pink);
    jp.add(img);
    jp.add(jlb1);
    jp.add(jlb2);
    jp.add(jlb3);
    jp.add(jlb4);
    jp.add(jlb5);
    jp.add(jlb);
    jlb.addActionListener(sl);

    con.add(jp);

    }

    /*public static void main(String [] args){
    new Student("dfsda");
    } */}
    这是界面代码