您好,我正在开发一个小软件,但我的 JFrame 遇到了问题。当我按下“返回”按钮时,它应该关闭并打开另一个窗口。新窗口确实出现了,但 JFrame 没有关闭。请帮忙。这是下面的代码
public class classallocation extends JFrame{
public JTextField txt_mcode,txt_day,txt_start,txt_end,txt_expstd,txt_resources, txt_classno;
public JLabel label1, label2, label3, label4, label5, label6, label7,label8,label9;
public JButton Confirm, Reset, Back,disp,adeq,avail;
JTable tt = null;
public classallocation(){
//coding of interface
label1 = new javax.swing.JLabel();
label1.setFont(new java.awt.Font("Verdana", 3, 14)); // NOI18N
label1.setForeground(Color.BLACK);
label1.setText("Manage Classroom Allocation");
label2 = new javax.swing.JLabel("Enter Module Code:");
txt_mcode = new javax.swing.JTextField(8);
label3 = new javax.swing.JLabel("Day:");
txt_day = new javax.swing.JTextField(10);
label4 = new javax.swing.JLabel("Start Time:");
txt_start = new javax.swing.JTextField(8);
label5 = new javax.swing.JLabel("End Time:");
txt_end = new javax.swing.JTextField(5);
label6 = new javax.swing.JLabel("Expected Number of Students:");
txt_expstd = new javax.swing.JTextField(5);
label7 = new javax.swing.JLabel("Required Resources:");
txt_resources = new javax.swing.JTextField(20);
label9 = new javax.swing.JLabel("Enter Classroom No to be allocated:");
txt_classno = new javax.swing.JTextField(5);
disp = new javax.swing.JButton();
disp.setText("Display Details");
adeq = new javax.swing.JButton();
adeq.setText("View Adequate Rooms");
avail = new javax.swing.JButton();
avail.setText("View Rooms' Availability");
Confirm = new javax.swing.JButton();
Confirm.setText("Confirm Allocation");
Reset = new javax.swing.JButton();
Reset.setText("Reset");
Back = new javax.swing.JButton();
Back.setText("Back");
label1.setBounds(90, 25, 400, 50);
label2.setBounds(50, 100, 200, 50);
txt_mcode.setBounds(275, 105, 75, 30);
label3.setBounds(50, 150, 100, 50);
txt_day.setBounds(275, 155, 75, 30);
disp.setBounds(375, 150, 190, 30);
label4.setBounds(50, 200, 100, 50);
txt_start.setBounds(275, 205, 75, 30);
adeq.setBounds(375, 200, 190, 30);
label5.setBounds(50, 250, 100, 50);
txt_end.setBounds(275, 255, 75, 30);
avail.setBounds(375, 250, 190, 30);
label6.setBounds(50, 300, 200, 50);
txt_expstd.setBounds(275, 305, 75, 30);
label7.setBounds(50, 350, 200, 50);
txt_resources.setBounds(275, 355, 200, 30);
label9.setBounds(50, 400, 250, 50);
txt_classno.setBounds(275, 405, 75, 30);
Confirm.setBounds(100, 525, 150, 30);
Reset.setBounds(275, 525, 100, 30);
Back.setBounds(400,525,100,30);
JFrame caFrame = new JFrame("Classroom Allocation Form");
caFrame.add(label1);
caFrame.add(label2);
caFrame.add(txt_mcode);
caFrame.add(label3);
caFrame.add(txt_day);
caFrame.add(label4);
caFrame.add(txt_start);
caFrame.add(label5);
caFrame.add(txt_end);
caFrame.add(label6);
caFrame.add(txt_expstd);
caFrame.add(label7);
caFrame.add(txt_resources);
caFrame.add(label9);
caFrame.add(txt_classno);
caFrame.add(disp);
caFrame.add(adeq);
caFrame.add(avail);
caFrame.add(Confirm);
caFrame.add(Reset);
caFrame.add(Back);
caFrame.setLayout(null);
caFrame.setVisible(true);
caFrame.setSize(650, 650);
caFrame.setResizable(true);
caFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Confirm.setMnemonic('C');
Confirm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
Confirm.setEnabled(true);
}
});
Reset.setMnemonic('R');
Back.setMnemonic('B');
Handleraddlecturer h = new Handleraddlecturer();
disp.addActionListener(h);
adeq.addActionListener(h);
avail.addActionListener(h);
Confirm.addActionListener(h);
Reset.addActionListener(h);
Back.addActionListener(h);
}
public class Handleraddlecturer implements ActionListener{
public void actionPerformed(ActionEvent event){
String name = ((JButton)event.getSource()).getText();
String sz = null;
sz = txt_expstd.getText();
String rsc = null;
rsc = txt_resources.getText();
if (name.equals("Back")){
dispose();
Mainmenuadmin cmn = new Mainmenuadmin();
}