Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 20, Problem 6PP
Program Plan Intro

Implementation of a Graphical User Interface (GUI)

Program plan:

  • In a file “BankAccount.java”, create a class “BankAccount”,
    • Declare the necessary variables.
    • Define the constructor to create a bank account with “0” balance.
    • Define the constructor to create a bank account with a specified balance.
    • Define the method “getAccountNumber()” to return the account number.
    • Define the method “deposit()” deposit the amount into the bank account.
    • Define the method “withdraw()” to debit the amount from the bank account.
    • Define the method “getBalance()” to return the bank balance.
  • In a file “BankData.java”, import the packages and create a class “BankData”,
    • Declare the object variable.
    • Define the constructor to create a “BankData” object.
    • Define the method “open()” to open the data file.
    • Define the method “size()” to return the number of accounts in the file.
    • Define the method “close()” to close the data file..
    • Define the method “read()” to read the savings account records.
    • Define the method “find()” to search the position of a bank account with a given number.
    • Define the method “write()” to write the savings account record to the data file.
  • In a file “BankSimulatorFrame.java”, import necessary packages, and create a class “BankSimulatorFrame”,
    • Declare and initialize the necessary static variables.
    • Declare the necessary variables.
    • Define the constructor,
      • Create an object for “BankData”.
      • Call the method “setLayout()”.
      • Call the method “add()” to add the various panel.
      • Call the method “setSize()” to set the frame size.
        • Define the method “createLoadPanel()”,
          • Create a panel.
          • Create a button “Load”.
          • Add the button into the panel.
          • Create Listener class for the button,
            • Define the method “actionPerformed()”,
              • Create “JFileChooser” object.
                • Check the condition for the file chooser,
                  • Execute try statement,
                    • Open the file
                    • Enable the buttons.
                  • Catch if exception occurs.
          • Call the action listener method.
          • Return the panel.
        • Define the panel method “createFindPanel()”,
          • Create a panel.
          • Create a button “Find”.
          • Disable the button.
          • Add the button into the panel.
          • Create a button “add”.
          • Disable the button.
          • Add the button into the panel.
          • Create text field.
          • Add the text field into the panel.
          • Create a listener class for the buttons,
            • Define the method “actionPerformed()”,
              • Execute try statement,
                • Get the account number.
                • Search the position of the account number.
                • Check the condition,
                  • Display the message.
                  • Disable the button.
                • Otherwise,
                  • Read the current position.
                  • Set the text for the label.
                  • Enable the button.
              • Catch if “IOException” exception occurs.
              • Catch if “NumberFormatException” exception occurs.
          • Call the listener method.
          • Create a class for button listener,
            • Define the method “actionPerformed()”,
              • Get the account number.
              • Search the position.
              • Check the condition,
                • Get the size.
                • Create a new account.
                • Call the method “write()”.
              • Otherwise,
                • Display the message.
                • Read the current position.
              • Set the text.
              • Enable the button.
            • Catch if “IOException” exception occurs.
            • Catch if “NumberFormatException” exception occurs.
          • Call the method action listener method.
          • Returns the panel.
        • Define the method “createBalancePanel()”,
          • Create a panel.
          • Create empty label.
          • Add the label into the panel.
          • Return the panel.
        • Define the method “createDepositPanel()”,
          • Create a panel.
          • Create a button “Deposit”.
          • Create and add the label into the panel.
          • Create and add the text field into the panel.
          • Add the button into the panel.
          • Create a listener class for the buttons,
            • Define the method “actionPerformed()”,
              • Execute try statement,
                • Get the amount.
                • Call the method “deposit()”.
                • Call the method “write()”.
                • Set the text.
                • Enable the button.
              • Catch if “IOException” exception occurs.
              • Catch if “NumberFormatException” exception occurs.
          • Call the listener method.
          • Returns the panel.
  • In a file “BankSimulatorViewer.java”, import necessary packages, and create a class “BankSimulatorViewer”,
    • Define the “main()” method.
      • Create “BankSimulatorFrame” object.
      • Call the method to define the frame operation.
      • Set the frame’s title.
      • Make the frame visible.

Blurred answer
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education