我想让下面白色区域用卡片布局,对上面的菜单项做出反应,选择不同菜单项显示不同的页
界面代码如下:高手帮忙啊
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");
}
*/
}