将小组从第二课改为第一课

时间:2016-03-27 17:39:47

标签: java swing jpanel jbutton

我正在练习使用登录管理员,学生和老师插入数据。但我在退出时得到了堆栈。

First Class Test5.java

  public class Test5 extends JFrame implements ActionListener , ItemListener {
  public Container contentPane = this.getContentPane();
    public Test5(){
    CardLayout card = new CardLayout();
    setLayout(card);
    setSize(1366,768);
    setTitle("Student Data Editor");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setResizable(true);
    try{
        Class.forName("com.mysql.jdbc.Driver"); 
        conn = DriverManager.getConnection("jdbc:mysql://localhost/kampus", "root", "abc");
        stmt = conn.createStatement();
    }catch(Exception e){
    }
    dosen dos = new dosen();
    siswa sis = new siswa();
    contentPane.add("main", main);
    contentPane.add("student", sis.panel_siswa);
    contentPane.add("dosen", dos.panel_dosen);
    main = new JPanel();   //first Panel
    main.setLayout(new GridBagLayout());
    label_main = new JLabel("ID");
    label_main2 = new JLabel("Password");
    tf_main = new JTextField(15);
    tf_main2 = new JPasswordField(15);
    login = new JButton("LOGIN");
    }
    public void actionPerformed(ActionEvent e) {
        if(e.getActionCommand().equals("LOGIN")){
            card.show(contentPane, "dosen");
        }
    }
}

第二类dosen.java

public class dosen implements ActionListener{
JPanel panel_dosen;
    public dosen(){
    panel_dosen = new JPanel(); //second panel
    panel_dosen.setLayout(new BorderLayout());
    panel_dosen.add(panel_combo, BorderLayout.NORTH);
    panel_dosen.add(scroll, BorderLayout.CENTER);
    panel_dosen.add(panel_input, BorderLayout.SOUTH);
}
    public void actionPerformed(ActionEvent e){
          if(e.getActionCommand().equals("Logout")){ //it didnt work at all and dont have any error
             Test5 tes = new Test5();
             tes.add(tes.main);
             tes.remove(panel_dosen);
             tes.tf_main.setText("");
             tes.tf_main2.setText("");
          }
   }
}

问题

第一小组 enter image description here

第二小组 enter image description here

问题

如何删除第二个面板并添加第一个面板添加jframe?

2 个答案:

答案 0 :(得分:1)

  

如何删除第二个面板并添加第一个面板添加jframe?

使用CardLayoutCardLayout专门设计用于允许在同一空间中交换面板。

阅读How to Use CardLayout上Swing教程中的部分,了解更多信息和工作示例。

答案 1 :(得分:1)

这是CardLayout的用例。使CardLayout成为JFrame的布局管理器而不是BorderLayout