package BankUserUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ClientUI123 {
public void CreateClientUI() {
//create a main frame
JFrame f = new JFrame("Welcome to the bank.");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(false);
f.setSize(500,300);
f.setLocationRelativeTo(null);
JPanel mainPanel = new JPanel();
CardLayout cards = new CardLayout();
mainPanel.setLayout(cards);
f.add(mainPanel);
//interface 1
//login interface
JPanel login = new JPanel(null);
mainPanel.add(login, "login");
cards.addLayoutComponent(login, "login");
JLabel name = new JLabel("name:");
JTextField nameType = new JTextField(15);
JButton loginButton = new JButton("LOGIN");
JButton enrollButton = new JButton("ENROLL");
JButton quit = new JButton("QUIT");
login.add(name);
login.add(nameType);
login.add(loginButton);
login.add(enrollButton);
login.add(quit);
name.setBounds(90, 100, 100, 20);
nameType.setBounds(130, 100, 100, 20);
login.add(loginButton);
login.add(enrollButton);
login.add(quit);
loginButton.setBounds(300, 60, 100, 20);
enrollButton.setBounds(300, 120, 100, 20);
quit.setBounds(300,180, 100, 20);
//interface 2
//service check interface
JPanel services = new JPanel(null);
mainPanel.add(services, "services");
cards.addLayoutComponent(services, "services");
JButton delete = new JButton("Delete a specified account.");
JButton display = new JButton("Display all my accounts.");
JButton modify = new JButton("Modify a specific account.");
services.add(delete);
services.add(display);
services.add(modify);
delete.setBounds(100, 60, 300, 30);
display.setBounds(100, 120, 300, 30);
modify.setBounds(100, 180, 300, 30);
class Actions implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("LOGIN")) {
//cards.next(services);
cards.show(services, "services");
}
}
}
Actions actions = new Actions();
loginButton.addActionListener(actions);
enrollButton.addActionListener(actions);
quit.addActionListener(actions);
delete.addActionListener(actions);
display.addActionListener(actions);
modify.addActionListener(actions);
f.setVisible(true);
}
public static void main(String[] args) {
//create a UI
new ClientUI123().CreateClientUI();
}
}
运行界面
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: wrong parent for CardLayout
at java.desktop/java.awt.CardLayout.checkLayout(CardLayout.java:404)
at java.desktop/java.awt.CardLayout.next(CardLayout.java:441)
at BankUserUI.ClientUI123$1Actions.actionPerformed(ClientUI123.java:70)<4 internal calls>
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)<30 internal calls>
运行界面的详细信息(如果有用的话)
D:\Java\bin\java.exe "-javaagent:D:\IDEA\IntelliJ IDEA Educational Edition 2020.3.4\lib\idea_rt.jar=6024:D:\IDEA\IntelliJ IDEA Educational Edition 2020.3.4\bin" -Dfile.encoding=UTF-8 -classpath D:\javacode\BankUserUI\out\production\BankUserUI BankUserUI.ClientUI123
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: wrong parent for CardLayout
at java.desktop/java.awt.CardLayout.checkLayout(CardLayout.java:404)
at java.desktop/java.awt.CardLayout.next(CardLayout.java:441)
at BankUserUI.ClientUI123$1Actions.actionPerformed(ClientUI123.java:70)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6614)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6379)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Process finished with exit code 0