![](/img/trans.png)
[英]How do I create a Builder that can build more than one kind of Java object?
[英]How do I create more than one form in Java?
当我启动我的程序时,它会加载带有按钮的主窗体,这些按钮执行它的必要功能。 我想知道如何创建一个按钮,单击该按钮后,将打开另一个具有自己的按钮和功能的表单。
例如:
主窗体有按钮:“登录”、“退出”
当您单击“登录”按钮时,我想创建另一个表单...
是的,我知道我可以使用String username = JOptionPane.showInputDialog("Input Username");
为此,但我想创建自己的登录表单。
任何帮助将非常感激...
首先,编写以下 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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.