0

こんにちは、私は 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();
        }
4

1 に答える 1

0

次のコードを変更します。

if (name.equals("Back")){
    dispose();
    Mainmenuadmin cmn = new Mainmenuadmin();
}

に:

if (name.equals("Back")){
    Mainmenuadmin cmn = new Mainmenuadmin();
    setVisible(false);
    cmn.setVisible(true);
}
于 2013-06-17T03:24:28.110 に答える