I tried to create a Java ATM GUI and my code compiles just fine but for some reason when I try to run it, my window that gets opened up is blank. Any code that I am missing or something is not adding up?
This is the Code:
import java x. swing. J Option Pane;
import java x swing. J Frame;
import java x. Swing .J Panel;
import java x. swing. J Button;
import java x. swing. J Label;
import java x. swing .J Text Field;
import java x. Swing .J Scroll Pane;
import java. Awt .Dimension;
import java. Awt .Colour;
import java. Awt .Font;
import java .awt .Flow Layout;
import java .awt .event .Action Listener;
import java .awt .event. Action Event;
import java .text .Number Format;
import java .util .Array List;
import java .io .Buffered Reader;
import java .io .File Reader;
public class Cash Machine extends java x. Swing .J Frame {
/*
Creates new form Cash Machine
*/
double current Balance;
String PIN;
String input;
public Cash Machine() {
//init Components();
PIN="3134";
input="";
}
private void Cancel Action Performed(java .awt .event .Action Event evt) {
jTextArea1.setText("");
}
private void Quit Action Performed(java .awt .event .Action Event evt) {
System .exit(0);
this. Set Visible(true);
}
private void Button1ActionPerformed(java .awt .event Action Event evt) {
input=input .contact ("1");
}
private void Button2ActionPerformed(java .awt .event .Action Event evt) {
input=input. contac("2");
}
private void Button3ActionPerformed(java.awt. event .Action Event evt) {
input=input. contact("3");
}
private void Button4ActionPerformed(java .awt .event. Action Event evt) {
input=input .contact("4");
}
private void Button5ActionPerformed(java .awt .event .Action Event evt) {
input=input .contact("5");
}
private void Button6ActionPerformed(java .awt. event .Action Event evt) {
input=input. contact("6");
}
private void Button7ActionPerformed(java .awt .event .Action Event evt) {
input=input. contact("7");
}
private void Button8ActionPerformed(java .awt. event .Action Event evt) {
input=input .contant("8");
}
private void Button9ActionPerformed(java.awt. event .Action Event evt) {
input=input. contact("9");
}
private void Enter Action Performed(java.awt. event. Action Event evt) {
jTextArea1.setText(input);
input="";
}
public void Transaction()
{
double cash;
double pre v=0;
jTextArea1.setText("You want to Deposit or Withdraw. Press button");
if(Cash withdrawal .is Enabled())
{
jTextArea1.setText("withdraw $50,withdraw $100, withdraw $200");
jTextArea1.setText("Enter the Amount");
cash=Double .parse Double(jTextArea2.getText());
if(cash>current Balance)
{
jTextArea1.setText("You cannot withdraw. Your option should be less than current balance");
}
else
{
jTextArea1.setText("Withdrawal success. Please collect your amount and receipt");
pre v= current Balance;
current Balance-=cash;
System .out. print ln("Receipt");
System. out .print ln("You withdrawn:"+cash);
}
}
else if(Cash Deposit .is Enabled())
{
jTextArea1.setText("Cash Deposited");
jTextArea1.setText("Enter any integer cash value less than $1000");
cash=Double. Parse Double(jTextArea2.getText());
pre v =current Balance;
current Balance+=cash;
System. out. print ln("Receipt");
System. out .print ln("You have deposited:"+cash);
}
System. out .print ln("Previous Balance:"+pre v);
System .out. print ln("Current Balance:"+current Balance);
}
public Boolean Pin Check()
{
int i=1;
Boolean flag=false;
while(i
{
jTextArea1.setText("Enter PIN ");
String user Pin=jTextArea2.getText();
if(PIN. equals(user Pin))
{
jTextArea1.setText("Welcome!! Your current Balance is"+current Balance);
flag=true;
break;
}
else
{
i++;
jTextArea1.setText("Invalid pin. Try Again.");
}
}
if(i==3)
{
jTextArea1.setText("Invalid User. Quitting...");
flag=false;
}
return flag;
}
public static void main(String args[]) {
java. Awt .Event Queue invoke Later(new Run n able() {
public void run() {
Cash Machine ATM= new Cash Machine();
ATM. Set Visible(true);
if(ATM .Pin Check())
ATM. Transaction();
else
{
ATM. Set Visible(true);
System. exit(0);
}
}
});
}
// Variables declaration
private java x. swing. J Button Button0;
private java x. swing. J Button Button1;
private java x. swing. J Button Button2;
private java x. swing. J Button Button3;
private java x. swing. J Button Button4;
private java x. swing. J Button Button5;
private java x. swing. J Button Button6;
private java x. swing. J Button Button7;
private java x. swing. J Button Button8;
private java x. swing. J Button Button9;
private java x. swing. J Button Cancel;
private java x. swing. J Button Cash Deposit;
private java x. swing. J Button Cash Withdrawal;
private java x. swing. J Button Enter;
private java x. swing. J Button Quit;
private java x. swing. J Button jButton7;
private java x. swing. J Label jLabel1;
private java x. swing. J Scroll Pane jScrollPane1;
private java x. swing. J Scroll Pane jScrollPane2;
private java x. swing. J Text Area jTextArea1;
private java x. Swing .J Text Area jTextArea2;
// End of variables declaration
}
And here is the error message n that I get when I run it:
Exception in thread "AWT-EventQueue-0" java .lang. Null Pointer Exception
at Cash Machine .Pin Check(CashMachine.java:110)
at CashMachine$1.run(CashMachine.java:136)
at java.awt. event. Invocation Event. dispatch(Invocation Event.java:311)
at java.awt .Event Queue .dispatch Event Imp l(Event Queue j ava:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java. security. Access Controller. Do Privileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri villege (ProtectionDomain.java:75)
at java. A wt .Event Queue. Dispatch Event(EventQueue.java: 714)
at java. A wt. Event Dispatch Thread. Pump One Event For Filter s(EventDispatchThread.java:201)
at java. A wt. Event Dispatch Thread. Pump Events For Filter(E ventDispatchThread.java:116)
at java.awt .Event Dispatch Thread .pump Events For Hierarch y(EventDispatchThread.java:105)
at java .a wt .Event Dispatch Thread .pump Events(Event DispatchThread.java:101)
at java. A wt. Event Dispatch Thread .pump Events(Event DispatchThread.java:93)
at java. A wt .Event Dispatch Thread. run(Event Dispatch Thread.java:82)