Hello, I am in grade 12 and i am trying to create a class and its not working, when i compile it , it works but when i run it and click the button to initialize i get so many errors, is there any suggestions on how to fix it. I tried fixing it but it won't work.
This is the class file i tried to make
sorry for not commenting
import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; import javax.swing.Timer; import java.awt.event.ActionEvent; import java.io.*; public class Bank extends JFrame implements ActionListener { private JTextField username; private JPasswordField pass; private JButton btnOk; private JButton btnExit; private JLabel enterUsername; private JLabel enterPass; private JLabel newAccountBalance; private JLabel accountBalance; private JLabel accountBalance2; private JFrame framer; private JButton resetPassword; private JRadioButton deposit, withdraw; private JTextField amount; private JLabel enterAmount; private JButton initiateTransaction; private JLabel newBalance; private JButton save; static PrintWriter output; private Zaib z; private String filename; private JButton logout; int balance = 2000; int balance1 = 2000; int noBalance = 0; public static void main(String [] args) throws IOException { new Bank(); } public Bank ()throws IOException { z = new Zaib(); filename = "sample.txt"; output = new PrintWriter(new FileWriter(filename)); enterUsername = new JLabel("Username (Card Number): "); enterUsername.setBounds(50, 50, 175,50); btnOk = new JButton ("OK"); btnOk.setBounds(25, 200, 75,50); btnOk.addActionListener(this); btnExit = new JButton ("Exit"); btnExit.setBounds(125, 200, 75,50); btnExit.addActionListener(this); username = new JTextField(15); username.setBounds(50, 85, 150, 25); username.addActionListener(this); enterPass = new JLabel("Passcode "); enterPass.setBounds(50, 100, 175,50); pass = new JPasswordField(15); pass.setBounds(50, 135, 150, 25); pass.addActionListener(this); resetPassword = new JButton ("Reset Password"); resetPassword.setBounds(35,260,150,25); resetPassword.addActionListener(this); JPanel panel1 = new JPanel(); panel1.setLayout(null); panel1.add(username); panel1.add(enterUsername); panel1.add(btnOk); panel1.add(enterPass); panel1.add(pass); panel1.add(btnExit); panel1.add(resetPassword); setContentPane(panel1); setLocationRelativeTo(null); setTitle("Login"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); setLayout(null); } public void actionPerformed(ActionEvent e) { String name = username.getText(); String name1 = pass.getText(); if(e.getSource() == resetPassword) { String email = JOptionPane.showInputDialog(null, "Enter your email for a password reset link", "Input Dialog", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null,"A password reset link will be sent to: " + email, "Reset Password", JOptionPane.INFORMATION_MESSAGE); } if (e.getSource() == btnOk) { if(name.equals("") && name1.equals("")) { framer = new JFrame(); JOptionPane.showMessageDialog(null, "Login Sucessful", "Sucess", JOptionPane.INFORMATION_MESSAGE); accountBalance = new JLabel("Current Account Balance: " + balance); accountBalance.setBounds(50, 50, 250,50); accountBalance.setVisible(true); accountBalance2 = new JLabel("Current Account Balance: " + balance1); accountBalance2.setBounds(50, 50, 250,50); accountBalance2.setVisible(false); newAccountBalance = new JLabel("New Account Balance: " ); newAccountBalance.setBounds(50, 400, 250, 50); newBalance = new JLabel (); newBalance.setBounds (200, 400,250,50); deposit = new JRadioButton("Deposit"); deposit.setBounds (50,150, 125,25); deposit.addActionListener(this); withdraw = new JRadioButton("Withdraw"); withdraw.setBounds (50,200, 125,25); withdraw.addActionListener(this); enterAmount = new JLabel ("Enter Amount:"); enterAmount.setBounds(50,250, 125,25); amount = new JTextField (15); amount.setBounds(50, 300,125,25); initiateTransaction = new JButton ("Initiate Transaction"); initiateTransaction .setBounds(50, 350, 150,25); initiateTransaction .addActionListener(this); save = new JButton("Save To File"); save.setBounds (300,350,150,25); save.addActionListener(this); logout = new JButton ("Log Out"); logout.setBounds (300, 400, 150,25); logout.addActionListener(this); // Create button group for soup options ButtonGroup option = new ButtonGroup(); option.add(deposit); option.add(withdraw); JPanel accountPanel = new JPanel(); accountPanel.setLayout(null); accountPanel.add(accountBalance); accountPanel.add(newAccountBalance); accountPanel.add(deposit); accountPanel.add(withdraw); accountPanel.add(enterAmount); accountPanel.add(amount); accountPanel.add(initiateTransaction); accountPanel.add(newBalance); accountPanel.add(accountBalance2); accountPanel.add(save); accountPanel.add(logout); framer.setContentPane(accountPanel); framer.setLocationRelativeTo(null); framer.setTitle("Account Information"); framer.setSize(500, 500); framer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); framer.setVisible(true); framer.setLayout(null); } else { JOptionPane.showMessageDialog(null, "Login Failed, Please Try Again", "Fail", JOptionPane.INFORMATION_MESSAGE); } } if (e.getSource() == btnExit) { JOptionPane.showMessageDialog(null, "Thank You For Choosing Bank of Baquial", "Bye!", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } try { if (e.getSource() == initiateTransaction && deposit.isSelected()) { z.Deposit(); } } catch (NumberFormatException x) { JOptionPane.showMessageDialog(null, "Please enter a number.", "Error", JOptionPane.ERROR_MESSAGE); amount.setText(" "); } try { if (e.getSource() == initiateTransaction && withdraw.isSelected()) { z.Withdraw(); } } catch (NumberFormatException x) { JOptionPane.showMessageDialog(null, "Please enter a number.", "Error", JOptionPane.ERROR_MESSAGE); amount.setText(" "); } if (e.getSource() == save) { output.println("" + balance ); output.close(); } if (e.getSource() == logout) { JOptionPane.showMessageDialog(null, "Thank You For Choosing Bank of Baquial", "Bye!", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } if (balance < 0) { newBalance.setText(" " + noBalance); accountBalance.setText ("Current Account Balance: " + noBalance); JOptionPane.showMessageDialog(null, "You are not eligible for a loan right now, please fill out an application with our branch manager: Brian Baquial", "Error", JOptionPane.INFORMATION_MESSAGE); } if (balance == 0) { JOptionPane.showMessageDialog(null, "Your Account Balance is: $0 ", "Warning", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, "The Bank of Baqial is known for its low interst rates on loan; apply now!", "Warning", JOptionPane.INFORMATION_MESSAGE); } } //public void Deposit() //{ // int enteredAmount; // enteredAmount = Integer.parseInt(amount.getText()); // balance = balance + enteredAmount; // newBalance.setText("" + balance); // accountBalance.setText ("Current Account Balance: " + balance); // //} //public void Withdraw() //{ // int enteredAmount; // enteredAmount = Integer.parseInt(amount.getText()); // balance = balance - enteredAmount; // newBalance.setText(" " + balance); // accountBalance.setText ("Current Account Balance: " + balance); //} }
This is the class file i tried to make
import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; import javax.swing.Timer; import java.awt.event.ActionEvent; import java.io.*; public class Zaib { public JTextField username; public JPasswordField pass; public JButton btnOk; public JButton btnExit; public JLabel enterUsername; public JLabel enterPass; public JLabel newAccountBalance; public JLabel accountBalance; public JLabel accountBalance2; public JFrame framer; public JButton resetPassword; public JRadioButton deposit, withdraw; public JTextField amount; public JLabel enterAmount; public JButton initiateTransaction; public JLabel newBalance; public JButton save; static PrintWriter output; private String filename; private JButton logout; int balance = 2000; int balance1 = 2000; int noBalance = 0; public void Deposit() { int enteredAmount; enteredAmount = Integer.parseInt(amount.getText()); balance = balance + enteredAmount; newBalance.setText("" + balance); accountBalance.setText ("Current Account Balance: " + balance); } public void Withdraw() { int enteredAmount; enteredAmount = Integer.parseInt(amount.getText()); balance = balance - enteredAmount; newBalance.setText(" " + balance); accountBalance.setText ("Current Account Balance: " + balance); } }
sorry for not commenting