I've been trying to run my Java program as a GUI with booking applications. It connects three worksheets of code. The code itself has no errors and is synched to a MySQL database, however when running the program, NetBeans never finishes, as the button functionalities leave the program "loading" forever.
I also receive this error in the output against the JDBC Driver, and others I can't interpret. I have re-downloaded my Java JDBC driver many times so this is a mystery to me. See below output:
SEVERE: null
java.lang.ClassNotFoundException: con.mysql.jdbc.Driver
at java.base / jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java: 581)
at java.base / jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java: 178)
at java.base / java.lang.ClassLoader.loadClass(ClassLoader.java: 521)
at java.base / java.lang.Class.forName0(Native Method)
at java.base / java.lang.Class.forName(Class.java: 315)
at Logins.booking.connect(booking.java: 89)
at Logins.booking. < init > (booking.java: 56)
at Logins.Login.jbtnLoginActionPerformed(Login.java: 182)
at Logins.Login$2.actionPerformed(Login.java: 68)
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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java: 297)
at java.desktop / java.awt.Component.processMouseEvent(Component.java: 6635)
at java.desktop / javax.swing.JComponent.processMouseEvent(JComponent.java: 3342)
at java.desktop / java.awt.Component.processEvent(Component.java: 6400)
at java.desktop / java.awt.Container.processEvent(Container.java: 2263)
at java.desktop / java.awt.Component.dispatchEventImpl(Component.java: 5011)
at java.desktop / java.awt.Container.dispatchEventImpl(Container.java: 2321)
at java.desktop / java.awt.Component.dispatchEvent(Component.java: 4843)
at java.desktop / java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4918)
at java.desktop / java.awt.LightweightDispatcher.processMouseEvent(Container.java: 4547)
at java.desktop / java.awt.LightweightDispatcher.dispatchEvent(Container.java: 4488)
at java.desktop / java.awt.Container.dispatchEventImpl(Container.java: 2307)
at java.desktop / java.awt.Window.dispatchEventImpl(Window.java: 2772)
at java.desktop / java.awt.Component.dispatchEvent(Component.java: 4843)
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(Native Method)
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(Native Method)
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)
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at Logins.booking.jButton1ActionPerformed(booking.java: 527)
at Logins.booking$1.actionPerformed(booking.java: 413)
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: 6635)
at java.desktop / javax.swing.JComponent.processMouseEvent(JComponent.java: 3342)
at java.desktop / java.awt.Component.processEvent(Component.java: 6400)
at java.desktop / java.awt.Container.processEvent(Container.java: 2263)
at java.desktop / java.awt.Component.dispatchEventImpl(Component.java: 5011)
at java.desktop / java.awt.Container.dispatchEventImpl(Container.java: 2321)
at java.desktop / java.awt.Component.dispatchEvent(Component.java: 4843)
at java.desktop / java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4918)
at java.desktop / java.awt.LightweightDispatcher.processMouseEvent(Container.java: 4547)
at java.desktop / java.awt.LightweightDispatcher.dispatchEvent(Container.java: 4488)
at java.desktop / java.awt.Container.dispatchEventImpl(Container.java: 2307)
at java.desktop / java.awt.Window.dispatchEventImpl(Window.java: 2772)
at java.desktop / java.awt.Component.dispatchEvent(Component.java: 4843)
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(Native Method)
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(Native Method)
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)
This is what's in my Libraries. Is there something additional that I need to install?
And here's my code:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package Logins;
import javax.swing.JOptionPane;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import Logins.booking;
/**
*
* @author user
*/
public class Login extends javax.swing.JFrame {
/**
* Creates new form Login
*/
public Login() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jPassword = new javax.swing.JPasswordField();
jtxtUsername = new javax.swing.JTextField();
jbtnLogin = new javax.swing.JButton();
jbtnReset = new javax.swing.JButton();
jbtnExit = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 30));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jLabel2.setText("Username ");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jLabel3.setText("Password ");
jPassword.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jPassword.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 4));
jPassword.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jPasswordActionPerformed(evt);
}
});
jtxtUsername.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jtxtUsername.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 4));
jbtnLogin.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jbtnLogin.setText("Login");
jbtnLogin.setToolTipText("");
jbtnLogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnLoginActionPerformed(evt);
}
});
jbtnReset.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jbtnReset.setText("Reset");
jbtnReset.setToolTipText("");
jbtnReset.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnResetActionPerformed(evt);
}
});
jbtnExit.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jbtnExit.setText("Exit ");
jbtnExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtnExitActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(84, 84, 84)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jtxtUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 495, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 495, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(44, 44, 44)
.addComponent(jbtnLogin, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jbtnReset, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(78, 78, 78)
.addComponent(jbtnExit, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(24, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(56, 56, 56)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jtxtUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(94, 94, 94)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(77, 77, 77)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jbtnExit, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jbtnLogin)
.addComponent(jbtnReset)))
.addContainerGap())
);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 72)); // NOI18N
jLabel1.setText("ACME Login System");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(337, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(154, 154, 154))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 727, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(224, 224, 224))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(139, Short.MAX_VALUE))
);
pack();
} // </editor-fold>
private void jPasswordActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jbtnExitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jbtnLoginActionPerformed(java.awt.event.ActionEvent evt) {
String password = jPassword.getText();
String username = jtxtUsername.getText();
if (password.contains("bill95") && (username.contains("billbarnes@acme.com"))) {
jtxtUsername.setText(null);
jPassword.setText(null);
systemExit();
booking Info = new booking();
Info.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "Invalid Login Details", "Login Error", JOptionPane.ERROR_MESSAGE);
jPassword.setText(null);
jtxtUsername.setText(null);
}
}
private void jbtnResetActionPerformed(java.awt.event.ActionEvent evt) {
jtxtUsername.setText(null);
jPassword.setText(null);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info: javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField jPassword;
private javax.swing.JButton jbtnExit;
private javax.swing.JButton jbtnLogin;
private javax.swing.JButton jbtnReset;
private javax.swing.JTextField jtxtUsername;
// End of variables declaration
private void systemExit() {
WindowEvent winCloseing = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
}
}