当我启动程序时,它会使用按钮加载主窗体,这些按钮可以执行必要的功能。 我想知道如何创建一个按钮,一旦点击,它将打开另一个带有它自己的按钮和功能的表单。
例如:
主表单上有以下按钮:'登录''退出'
当您点击“登录”时,我想创建另一个表单。 按钮...
是的,我知道我可以使用String username = JOptionPane.showInputDialog("Input Username");
,但我想创建自己的登录表单。
非常感谢任何帮助......
答案 0 :(得分:1)
首先,编写以下LogInForm类。
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class LogInForm extends JPanel
{
JTextField username, password;
JButton login;
public LogInForm()
{
this.setLayout(new FlowLayout());
username = new JTextField("Username");
this.add(username);
password = new JTextField("Password");
this.add(password);
login = new JButton("log in");
this.add(login);
}
}
然后编写以下课程来完成这项工作。
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainForm extends JPanel
{
private JButton quit, logIn;
public MainForm()
{
this.setLayout(new FlowLayout());
quit = new JButton("quit");
this.add(quit);
logIn = new JButton("login");
this.add(logIn);
ActionHandler handler = new ActionHandler();
logIn.addActionListener(handler);
}
private class ActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == logIn)
{
JFrame logInFrame = new JFrame();
LogInForm logInForm = new LogInForm();
logInFrame.getContentPane().add(logInForm);
logInFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
logInFrame.setSize(400,300);
logInFrame.setVisible(true);
}
}
}
public static void main(String[] args)
{
JFrame mainFrame = new JFrame();
MainForm panel = new MainForm();
mainFrame.getContentPane().add(panel);
mainFrame.setSize(300,200);
mainFrame.setVisible(true);
}
}