I want to create an app which changes windows (panels) like forms in Visual Studio (C#).
I have a lot of errors, and I don't understand why; please help me to understand what I'm doing wrong.
Here are my error details:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Interfata.InterfataDB$2.actionPerformed(InterfataDB.java:83)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
and here's my app code:
package Interfata;
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.CardLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class InterfataDB {
private JFrame frame;
private JTextField textFieldNameInsert;
private JTextField textFieldAdressInsert;
private JTextField textFieldSelect;
private JPanel panelMenu;
private JPanel panelInsert;
private JPanel panelSelect;
private JPanel panelUpdate;
private JPanel panelDelete;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
InterfataDB window = new InterfataDB();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public InterfataDB() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new CardLayout(0, 0));
final JPanel panelMenu = new JPanel();
frame.getContentPane().add(panelMenu, "name_294128049815194");
panelMenu.setLayout(null);
panelMenu.setVisible(true);
JLabel lblWelcomeToDb = new JLabel("Welcome to DB Work Station");
lblWelcomeToDb.setBounds(141, 27, 137, 14);
panelMenu.add(lblWelcomeToDb);
JLabel lblMenu = new JLabel("Menu");
lblMenu.setBounds(179, 52, 34, 14);
panelMenu.add(lblMenu);
JLabel lblChooseOneOf = new JLabel("Choose one of the following options:");
lblChooseOneOf.setBounds(122, 93, 185, 14);
panelMenu.add(lblChooseOneOf);
JButton btnSelect = new JButton("Select");
btnSelect.setBounds(35, 200, 91, 23);
panelMenu.add(btnSelect);
JButton btnInsert = new JButton("Insert");
btnInsert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
panelInsert.setVisible(true);
panelSelect.setVisible(false);
panelUpdate.setVisible(false);
panelDelete.setVisible(false);
}
});
btnInsert.setBounds(35, 150, 91, 23);
panelMenu.add(btnInsert);
JButton btnUpdate = new JButton("Update");
btnUpdate.setBounds(277, 150, 91, 23);
panelMenu.add(btnUpdate);
JButton btnDelete = new JButton("Delete");
btnDelete.setBounds(277, 200, 91, 23);
panelMenu.add(btnDelete);
final JPanel panelInsert = new JPanel();
frame.getContentPane().add(panelInsert, "name_294130167783866");
panelInsert.setLayout(null);
panelInsert.setVisible(false);
JLabel lblWelcomeToInsert = new JLabel("Welcome to Insert option");
lblWelcomeToInsert.setBounds(157, 45, 128, 14);
panelInsert.add(lblWelcomeToInsert);
JLabel lblName = new JLabel("Name");
lblName.setBounds(80, 94, 46, 14);
panelInsert.add(lblName);
JLabel lblAdress = new JLabel("Adress");
lblAdress.setBounds(80, 129, 46, 14);
panelInsert.add(lblAdress);
textFieldNameInsert = new JTextField();
textFieldNameInsert.setBounds(157, 91, 86, 20);
panelInsert.add(textFieldNameInsert);
textFieldNameInsert.setColumns(10);
textFieldAdressInsert = new JTextField();
textFieldAdressInsert.setBounds(157, 126, 86, 20);
panelInsert.add(textFieldAdressInsert);
textFieldAdressInsert.setColumns(10);
JButton btnRunInsert = new JButton("Run Insert");
btnRunInsert.setBounds(311, 217, 91, 23);
panelInsert.add(btnRunInsert);
final JPanel panelSelect = new JPanel();
frame.getContentPane().add(panelSelect, "name_294134957448744");
panelSelect.setLayout(null);
panelSelect.setVisible(false);
JLabel lblWelcomeToSelect = new JLabel("Welcome to Select option:");
lblWelcomeToSelect.setBounds(144, 49, 132, 14);
panelSelect.add(lblWelcomeToSelect);
JLabel lblYourResultWill = new JLabel("Your result will apear here");
lblYourResultWill.setBackground(Color.CYAN);
lblYourResultWill.setBounds(84, 92, 241, 96);
panelSelect.add(lblYourResultWill);
JButton btnRunSelect = new JButton("Run Select");
btnRunSelect.setBounds(310, 225, 91, 23);
panelSelect.add(btnRunSelect);
textFieldSelect = new JTextField();
textFieldSelect.setBounds(10, 226, 266, 20);
panelSelect.add(textFieldSelect);
textFieldSelect.setColumns(10);
JLabel lblEnterScriptHere = new JLabel("Enter script here:");
lblEnterScriptHere.setBounds(10, 201, 91, 14);
panelSelect.add(lblEnterScriptHere);
final JPanel panelUpdate = new JPanel();
frame.getContentPane().add(panelUpdate, "name_294154843658550");
panelUpdate.setLayout(null);
panelUpdate.setVisible(false);
JLabel lblWelcomeToUpdate = new JLabel("Welcome to Update option");
lblWelcomeToUpdate.setBounds(156, 66, 137, 14);
panelUpdate.add(lblWelcomeToUpdate);
final JPanel panelDelete = new JPanel();
frame.getContentPane().add(panelDelete, "name_294158967970281");
panelDelete.setLayout(null);
panelDelete.setVisible(false);
JLabel lblWelcomeToDelete = new JLabel("Welcome to Delete option");
lblWelcomeToDelete.setBounds(150, 66, 136, 14);
panelDelete.add(lblWelcomeToDelete);
}
}