单击按钮后,我试图隐藏框架。“注册”按钮应该打开一个用户可以注册的框架,这很有效,但我试图隐藏前一个框架,我不知道该怎么做。
这是我的代码:
主页.java
package Practice_1;
import java.awt.*;
import java.awt.Insets;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
*
* @author Ivan
*/
public class MainPage extends JPanel
{
JButton regButton, logButton, listButton;
JLabel homeMessage;
GridBagConstraints gbc = new GridBagConstraints();
public MainPage()
{
setLayout(new GridBagLayout());
gbc.insets = new Insets(5,5,5,5);
homeMessage = new JLabel("Please select an option below:");
gbc.gridx = 0;
gbc.gridy = 0;
add(homeMessage, gbc);
regButton = new JButton("Register");
gbc.gridx = 0;
gbc.gridy = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
regButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
//System.out.println("clicked");
RegisterPage regFrame = new RegisterPage();
JFrame register = new JFrame();
register.setTitle("Registration");
register.setSize(300,200);
register.setVisible(true);
register.add(regFrame);
new MainPage().setVisible(false); / THIS DOES NOT WORK
}
});
add(regButton, gbc);
logButton = new JButton("Log in");
gbc.ipadx = 40;
gbc.gridx = 0;
gbc.gridy = 2;
add(logButton, gbc);
listButton = new JButton("Customer list");
gbc.ipadx = 40;
gbc.gridx = 0;
gbc.gridy = 3;
add(listButton, gbc);
JFrame home = new JFrame();
home.setTitle("Main menu");
home.setSize(300,200);
home.setResizable(false);
home.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
home.setVisible(true);
home.add (mainFrame);
}
public static void main(String[] args) {
// TODO code application logic here
MainPage mainFrame = new MainPage();
}
}
注册页面.java
package Practice_1;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
*
* @author Ivan
*/
public class RegisterPage extends JPanel {
//JButton regButton, logButton, listButton;
JLabel homeMessage;
GridBagConstraints gbc = new GridBagConstraints();
public RegisterPage()
{
setLayout(new GridBagLayout());
gbc.insets = new Insets(5,5,5,5);
homeMessage = new JLabel("Register new user:");
gbc.gridx = 0;
gbc.gridy = 0;
add(homeMessage, gbc);
}
}