ATM Simulation
ATM Simulation
Submitted by
Introduction:
ATM simulation is a java project that functions similarly to the normal atm. There are two
ways to use this system. One by a user and the other as an admin. As a user, you can
simply deposit, withdraw and check the account balance. Also, you can change your
password. As a system admin, you can control the entire system from adding a user
to adding account and deleting accounts.
SOURCE CODE:
AccountController.java
package com.mycompany.atmmanagementsys;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
String UserID;
@FXML
private TextField uid;
@FXML
private TextField uname;
@FXML
private TextArea uaddress;
@FXML
private TextField uemail;
@FXML
private TextField uphone;
@FXML
private TextField ubalance;
@FXML
private Label welcome;
@FXML
private PasswordField oldpass;
@FXML
private PasswordField newpass;
@FXML
private PasswordField passretype;
@FXML
private Label changepassconf;
@FXML
private TextArea quotediscp;
@FXML
private TextArea quotedisai;
AddCustomerController.java
package com.mycompany.atmmanagementsys;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class AddCustomerController implements Initializable {
@FXML
private TextField cusid;
@FXML
private TextField cusname;
@FXML
private TextArea cusaddress;
@FXML
private TextField cusphone;
@FXML
private Button add;
@FXML
private Label addcusconfirm;
@FXML
private TextField cusemail;
@FXML
private TextField balance;
@FXML
private Button browse;
private File file;
@FXML
private ImageView userimage;
@FXML
private TextField cuspass;
private FileInputStream fis;
int cf;
@FXML
public void ChooseFile(ActionEvent event) {
FileChooser fc = new FileChooser();
file = fc.showOpenDialog(null);
if (file != null) {
Image image = new Image(file.toURI().toString());
userimage.setImage(image);
cf = 1;
} else {
cf = 0;
}
}
@FXML
public void AddCustomer(ActionEvent event) throws SQLException,
FileNotFoundException {
try {
if (cusid.getText().isEmpty() ||
cuspass.getText().isEmpty() || cusname.getText().isEmpty() ||
cusaddress.getText().isEmpty() || cusemail.getText().isEmpty() ||
cusphone.getText().isEmpty() || balance.getText().isEmpty()) {
addcusconfirm.setText("Please Fill Up Everything");
} else if (Integer.parseInt(balance.getText()) < 500) {
addcusconfirm.setText("Minimum Balance Requirement Is
500 Tk.");
} else {
if (cf != 1) {
addcusconfirm.setText("Please Upload An Image To
Add New Customer");
} else if (cf == 1) {
try {
Connection con = DbConnection.Connection();
PreparedStatement ps =
con.prepareStatement("INSERT INTO users VALUES (?,?,?,?,?,?,?,?)");
ps.setInt(1,
Integer.parseInt(cusid.getText()));
ps.setString(2, cuspass.getText());
ps.setString(3, cusname.getText());
ps.setString(4, cusaddress.getText());
ps.setString(5, cusemail.getText());
ps.setString(6, cusphone.getText());
ps.setString(7, balance.getText());
fis = new FileInputStream(file);
ps.setBinaryStream(8, (InputStream) fis, (int)
file.length());
int i = ps.executeUpdate();
if (i > 0) {
cusid.setText("");
cuspass.setText("");
cusname.setText("");
cusaddress.setText("");
cusemail.setText("");
cusphone.setText("");
balance.setText("");
addcusconfirm.setText("New Customer Added
Successfully");
} else {
addcusconfirm.setText("Failed To Add New
Customer");
}
ps.close();
con.close();
} catch (FileNotFoundException |
NumberFormatException | SQLException e) {
addcusconfirm.setText("Invalid Customer ID or
ID Is Not Available");
}
}
}
} catch (NumberFormatException e) {
addcusconfirm.setText("Please Enter Everything Correctly");
}
cf = 0;
Image image = new Image("/icons/usericon1.png");
userimage.setImage(image);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
OUTPUT:
AdminPageController.java
package com.mycompany.atmmanagementsys;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
loader.setLocation(getClass().getResource("/fxml/AddCustomer.fxml"));
loader.load();
Parent root = loader.getRoot();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/AddCustomer.css");
Image icon = new Image("/icons/adduser.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Add Customer Page");
stage.setScene(scene);
stage.show();
}
@FXML
public void EditCustomerData(ActionEvent event) throws IOException{
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/EditCustomer.fxml"));
loader.load();
Parent root = loader.getRoot();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/EditCustomer.css");
Image icon = new Image("/icons/edituser.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Edit Customer Page");
stage.setScene(scene);
stage.show();
}
@FXML
public void DeleteCustomerData(ActionEvent event) throws
IOException{
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/DeleteCustomer.fxml"))
;
loader.load();
Parent root = loader.getRoot();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/DeleteCustomer.css");
Image icon = new Image("/icons/deleteuser.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Delete Customer Page");
stage.setScene(scene);
stage.show();
}
@FXML
public void ResetPassword(ActionEvent event) throws IOException{
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/PasswordReset.fxml"));
loader.load();
Parent root = loader.getRoot();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/PasswordReset.css");
Image icon = new Image("/icons/Password.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Passwor Reset Page");
stage.setScene(scene);
stage.show();
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
BalancePageController.java
package com.mycompany.atmmanagementsys;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
CustomerData.java
package com.mycompany.atmmanagementsys;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
Dbconnection.java
package com.mycompany.atmmanagementsys;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
Logger.getLogger(DbConnection.class.getName()).log(Level.SEVERE, null,
ex);
return null;
}
}
}
EditCustomerController.java
package com.mycompany.atmmanagementsys;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
} else {
cp = 0;
}
}
@FXML
public void LoadCusInfo(ActionEvent event) throws SQLException,
FileNotFoundException, IOException {
try {
Connection con = DbConnection.Connection();
PreparedStatement ps = con.prepareStatement("Select * from
users where id = ?");
ps.setInt(1, Integer.parseInt(cusid.getText()));
ResultSet rs = ps.executeQuery();
if (rs.next()) {
cusname.setText(rs.getString("name"));
cusaddress.setText(rs.getString("address"));
cusemail.setText(rs.getString("email"));
cusphone.setText(rs.getString("phone"));
cusbalance.setText(Integer.toString(rs.getInt("balance")));
InputStream img = rs.getBinaryStream("image");
OutputStream os = new FileOutputStream(new
File("userimage.jpg"));
byte[] content = new byte[1024];
int s = 0;
while ((s = img.read(content)) != -1) {
os.write(content, 0, s);
}
Image image = new Image("file:userimage.jpg");
cusimage.setImage(image);
} else {
confirmation.setText("Customer Not Found");
}
ps.close();
rs.close();
con.close();
} catch (IOException | NumberFormatException | SQLException e)
{
confirmation.setText("Please Enter The ID Correctly");
}
}
public void EditCusInfo(ActionEvent event) throws SQLException,
FileNotFoundException {
try {
if (cusname.getText().isEmpty() ||
cusaddress.getText().isEmpty() || cusemail.getText().isEmpty() ||
cusphone.getText().isEmpty() || cusbalance.getText().isEmpty()) {
confirmation.setText("Please Fill Up Everything");
} else if (Integer.parseInt(cusbalance.getText()) < 0) {
confirmation.setText("Please Enter The Balance
Correctly");
} else {
if (cp == 1) {
Connection con = DbConnection.Connection();
PreparedStatement ps = con.prepareStatement("UPDATE
users SET name = ? ,address = ? ,email = ? , phone = ?,balance = ? ,
image = ? WHERE id = '" + Integer.parseInt(cusid.getText()) + "'");
ps.setString(1, cusname.getText());
ps.setString(2, cusaddress.getText());
ps.setString(3, cusemail.getText());
ps.setString(4, cusphone.getText());
ps.setInt(5,
Integer.parseInt(cusbalance.getText()));
fis = new FileInputStream(file);
ps.setBinaryStream(6, (InputStream) fis, (int)
file.length());
int i = ps.executeUpdate();
if (i > 0) {
cusname.setText("");
cusaddress.setText("");
cusemail.setText("");
cusphone.setText("");
cusbalance.setText("");
Image image = new
Image("/icons/usericon3.png");
cusimage.setImage(image);
confirmation.setText("Customer Info Updated
Successfully");
} else {
confirmation.setText("Failed To Update Customer
Info");
}
cp = 0;
ps.close();
con.close();
} else if (cp != 1) {
Connection con = DbConnection.Connection();
PreparedStatement ps = con.prepareStatement("UPDATE
users SET name = ? ,address = ? ,email = ? , phone = ?,balance = ?
WHERE id = '" + Integer.parseInt(cusid.getText()) + "'");
ps.setString(1, cusname.getText());
ps.setString(2, cusaddress.getText());
ps.setString(3, cusemail.getText());
ps.setString(4, cusphone.getText());
ps.setInt(5,
Integer.parseInt(cusbalance.getText()));
int j = ps.executeUpdate();
if (j > 0) {
cusname.setText("");
cusaddress.setText("");
cusemail.setText("");
cusphone.setText("");
cusbalance.setText("");
Image image = new
Image("/icons/usericon3.png");
cusimage.setImage(image);
confirmation.setText("Customer Info Updated
Successfully");
} else {
confirmation.setText("Failed To Update Customer
Info");
}
ps.close();
con.close();
}
}
} catch (FileNotFoundException | NumberFormatException |
SQLException e) {
confirmation.setText("Please Enter Everything Correctly");
}
}
public void DeleteCusInfo(ActionEvent event) throws SQLException {
try {
Connection con = DbConnection.Connection();
PreparedStatement ps = con.prepareStatement("DELETE FROM
users WHERE id = ?");
ps.setInt(1, Integer.parseInt(cusid.getText()));
int k = ps.executeUpdate();
if (k > 0) {
cusname.setText("");
cusaddress.setText("");
cusemail.setText("");
cusphone.setText("");
cusbalance.setText("");
Image image = new Image("/icons/usericon4.png");
cusimage.setImage(image);
confirmation.setText("Successfully Removed The
Customer");
} else {
confirmation.setText("Failed To Find The Customer");
}
ps.close();
con.close();
} catch (NumberFormatException | SQLException e) {
confirmation.setText("Please Enter The ID Correctly");
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
FXMLController.java
package com.mycompany.atmmanagementsys;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.image.Image;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
loader.setLocation(getClass().getResource("/fxml/UserPage.fxml"));
loader.load();
Parent root = loader.getRoot();
UserPageController upc = loader.getController();
upc.GetUserID(useridtf.getText(),
rs.getString("name"));
stage.setTitle("User Page");
Image icon = new Image("/icons/UserPage.png");
stage.getIcons().add(icon);
stage.setMinHeight(710);
stage.setMinWidth(1345);
stage.setMaximized(true);
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/UserPage.css");
stage.setScene(scene);
stage.show();
mssg.setText("");
Media someSound = new
Media(getClass().getResource("/audio/UserLogin.mp3").toString());
MediaPlayer mp = new MediaPlayer(someSound);
mp.play();
}
else{
mssg.setText("Wrong Password Or UserID");
}
ps.close();
rs.close();
} else if (adminrb.isSelected()) {
ps = con.prepareStatement("SELECT * FROM admins WHERE id
= ? and password = ?");
ps.setString(1, useridtf.getText());
ps.setString(2, passwordtf.getText());
rs = ps.executeQuery();
if(rs.next()) {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/AdminPage.fxml"));
loader.load();
Parent root = loader.getRoot();
AdminPageController apc = loader.getController();
apc.GetAdminID( useridtf.getText());
stage.setTitle("Admin Page");
Image icon = new Image("/icons/UserPage.png");
stage.getIcons().add(icon);
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/AdminPage.css");
stage.setScene(scene);
stage.show();
mssg.setText("");
Media someSound = new
Media(getClass().getResource("/audio/AdminLogin.mp3").toString());
MediaPlayer mp = new MediaPlayer(someSound);
mp.play();
}
else{
mssg.setText("Wrong Password Or AdminID");
}
ps.close();
rs.close();
}
con.close();
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
PasswordResetController.java
package com.mycompany.atmmanagementsys;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import java.util.Random;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(Email));
message.setSubject("Password Reset");
message.setText(Password);
Transport.send(message);
confirmation.appendText("This New Password
Has Been Sent To Customer's Email");
} catch (MessagingException e) {
confirmation.setText("Could Not Send The
Email , Please Contract With An Admin "+"\n"+ "New Password :"+ pass);
}
} else {
confirmation.setText("Failed To Change Password
, Please Check Customer ID");
}
} else {
confirmation.setText("Please Enter A Valid Customer
ID");
}
ps.close();
con.close();
rs.close();
} catch (NumberFormatException | SQLException e) {
confirmation.setText("DataBase Eror Or Invalid Number
Format");
}
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
OUTPUT:
Quotes.java
package com.mycompany.atmmanagementsys;
import java.util.Random;
case 6:
quote = "Without a goal, discipline is\n"
+ "nothing but self-punishment.\n\n"
+ "- Elanor Roosevelt";
}
return quote;
}
}
UserPageController.java
package com.mycompany.atmmanagementsys;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.image.Image;
import javafx.stage.Stage;
}
public void CheckBalance(ActionEvent event) throws SQLException,
IOException {
Connection con = DbConnection.Connection();
PreparedStatement ps = null;
ResultSet rs = null;
ps = con.prepareStatement("SELECT * FROM users WHERE id = ? AND
name = ?");
ps.setString(1, UserID);
ps.setString(2, UserName);
rs = ps.executeQuery();
while (rs.next()) {
String Balance = Integer.toString(rs.getInt("balance"));
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/BalancePage.fxml"));
loader.load();
Parent root = loader.getRoot();
BalancePageController bpc = loader.getController();
bpc.SetBalance(Balance);
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/BalancePage.css");
Image icon = new Image("/icons/DepositPage.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Balance Page");
stage.setScene(scene);
stage.show();
}
ps.close();
rs.close();
}
@FXML
public void Withdraw(ActionEvent event) throws IOException,
SQLException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/WithdrawPage.fxml"));
loader.load();
Parent root = loader.getRoot();
BalancePageController bpc = loader.getController();
bpc.getUserID(UserID);
bpc.StqWithdrawPage();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/WithdrawPage.css");
Image icon = new Image("/icons/DepositPage.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Withdraw Page");
stage.setScene(scene);
stage.show();
}
@FXML
void DepositMoney(ActionEvent event) throws IOException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/DepositPage.fxml"));
loader.load();
Parent root = loader.getRoot();
BalancePageController bpc = loader.getController();
bpc.getUserID(UserID);
bpc.StqDepositPage();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/DepositPage.css");
Image icon = new Image("/icons/DepositPage.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Deposite Page");
stage.setScene(scene);
stage.show();
}
@FXML
void AccountInfo(ActionEvent event) throws IOException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/AccountInfoPage.fxml")
);
loader.load();
Parent root = loader.getRoot();
AccountInfoController aic = loader.getController();
aic.getUserID(UserID);
aic.StqAccountInfo();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/AccountInfoPage.css");
Image icon = new Image("/icons/usericon4.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Account Information");
stage.setScene(scene);
stage.show();
}
@FXML
void ChangePassword(ActionEvent event) throws IOException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/ChangePassword.fxml"))
;
loader.load();
Parent root = loader.getRoot();
AccountInfoController aic = loader.getController();
aic.getUserID(UserID);
aic.StqPasswordChangePage();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/ChangePassword.css");
Image icon = new Image("/icons/LoginPage.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Change Password");
stage.setScene(scene);
stage.show();
}
@FXML
void BalanceTransfer(ActionEvent event) throws IOException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/fxml/BalanceTransfer.fxml")
);
loader.load();
Parent root = loader.getRoot();
BalancePageController bpc = loader.getController();
bpc.getUserID(UserID);
bpc.StqBalanceTransPage();
Scene scene = new Scene(root);
scene.getStylesheets().add("/styles/BalanceTransfer.css");
Image icon = new Image("/icons/DepositPage.png");
stage.getIcons().add(icon);
stage.setResizable(false);
stage.sizeToScene();
stage.setTitle("Balance Transfer");
stage.setScene(scene);
stage.show();
}
}