GUI事件处理问题
想实现组件间切换,可是没实现。。。
部分代码如下
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class BorrowerIofoPanel extends JPanel implements ActionListener{
private JPanel infoPanel;
private JLabel name1,name2;
private JLabel position1,position2;
private JLabel id1,id2;
private JLabel mail1,mail2;
private JLabel maxBorrowNum1,maxBorrowNum2;
private JLabel maxBorrowTime1,maxBorrowTime2;
private JLabel maxContinueBorrowTime1,maxContinueBorrowTime2;
private JButton change_bt;
private Borrower borrower;
private ChangeKeyPanel changeKeyPanel;
public BorrowerIofoPanel(){
infoPanel=new JPanel();
borrower=new Borrower("1","dg","123456" );
name1=new JLabel("姓名");
name2=new JLabel(borrower.getBorrowerName());
position1=new JLabel("身份");
position2=new JLabel("本科生");
id1=new JLabel("编号");
id2=new JLabel(borrower.getBorrowerNum());
mail1=new JLabel("邮箱");
mail2=new JLabel("453636@qq.com");
maxBorrowNum1=new JLabel("最大借阅册数");
maxBorrowNum2=new JLabel("borrower.maxBorrowedNumber");
maxBorrowTime1=new JLabel("最长借阅时间");
maxBorrowTime2=new JLabel("31天");
maxContinueBorrowTime1=new JLabel("最大续借次数");
maxContinueBorrowTime2=new JLabel("borrower.maxContinueBorrowTime");
change_bt=new JButton("修改密码");
changeKeyPanel=new ChangeKeyPanel();
infoPanel.setLayout(new GridLayout(8,2));
infoPanel.setBorder(new TitledBorder(borrower.getBorrowerName()+":你好!" ));
changeKeyPanel.setVisible(false);
infoPanel.add(id1);
infoPanel.add(id2);
infoPanel.add(name1);
infoPanel.add(name2);
infoPanel.add(position1);
infoPanel.add(position2);
infoPanel.add(mail1);
infoPanel.add(mail2);
infoPanel.add(maxBorrowNum1);
infoPanel.add(maxBorrowNum2);
infoPanel.add(maxBorrowTime1);
infoPanel.add(maxBorrowTime2);
infoPanel.add(maxContinueBorrowTime1);
infoPanel.add(maxContinueBorrowTime2);
infoPanel.add(new JLabel());
infoPanel.add(change_bt);
add(infoPanel);
add(changeKeyPanel);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(change_bt)){
infoPanel.setVisible(false);
changeKeyPanel.setVisible(true);
}
}
class ChangeKeyPanel extends JPanel implements ActionListener{
private JLabel oldKeyLabel,newKeyLabel,confirmKeyLabel;
private JPasswordField oldKeyField,newKeyField,confirmKeyField;
private JButton ok_bt,ret_bt;
public ChangeKeyPanel(){
setLayout(new GridLayout(4,2));
oldKeyLabel=new JLabel("旧密码 ");
newKeyLabel=new JLabel("新密码 ");
confirmKeyLabel=new JLabel("确认密码");
oldKeyField=new JPasswordField();
newKeyField=new JPasswordField();
confirmKeyField=new JPasswordField();
ok_bt=new JButton("确定");
ret_bt=new JButton("返回");
oldKeyField.setEditable(true);
newKeyField.setEditable(true);
confirmKeyField.setEditable(true);
ok_bt.addActionListener(this);
ret_bt.addActionListener(this);