Package View

Class EditBillView

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class EditBillView extends JPanel
The EditBillView class represents a graphical user interface for editing a bill's details. It allows users to view and modify the name, price, reading, and date associated with a bill. Users can navigate back, delete the bill, or save the changes made to the bill's information.

This class serves as part of the App's user interface and is used for managing bill details.

See Also:
  • Field Details

    • app

      protected App app
      A reference to the main application instance, facilitating communication between the view and the application logic.
    • nameLabel

      private JLabel nameLabel
      A label displaying the bill's name.
    • priceLabel

      private JLabel priceLabel
      A label displaying the bill's price.
    • readingLabel

      private JLabel readingLabel
      A label displaying the bill's reading.
    • dateLabel

      private JLabel dateLabel
      A label displaying the bill's date.
    • backButton

      private JButton backButton
      A button for navigating back to the previous screen.
    • deleteButton

      private JButton deleteButton
      A button for deleting the bill.
    • saveButton

      private JButton saveButton
      A button for saving changes made to the bill's details.
  • Constructor Details

    • EditBillView

      public EditBillView(App app, UtilityBill utilityBill)
      Constructs a new EditBillView. Initializes the graphical user interface components, including labels and buttons, for viewing and editing bill details. It also sets up event listeners for user interactions.
      Parameters:
      app - The main application instance to connect the view with the application logic.
  • Method Details

    • createFieldLabel

      private JLabel createFieldLabel(String text)
      The createFieldLabel method generates a custom label with specified text, font, alignment, and border. This label is typically used alongside input fields to provide descriptive text or labels for user input.
      Parameters:
      text - The text content of the label.
      text - The text content to be displayed on the label.
      Returns:
      A new JLabel customized with the specified text, font, alignment, and border settings.
      See Also:
    • createEditableLabel

      private JLabel createEditableLabel(String text)
      The createEditableLabel method generates an editable label with the specified text, font, alignment, and border. This label is often used to display information that users can edit or modify.
      Parameters:
      text - The text content of the editable label.
      text - The text content to be displayed on the editable label.
      Returns:
      A new JLabel customized with the specified text, font, alignment, and border settings.
      See Also:
    • createEditButton

      private JButton createEditButton(String text, JLabel targetLabel)
      The createEditButton method generates an edit button with the specified text, font, and functionality for modifying the content of a target JLabel when clicked.
      Parameters:
      text - The text content of the edit button.
      targetLabel - The JLabel whose content will be modified when the edit button is clicked.
      text - The text content to be displayed on the edit button.
      targetLabel - The JLabel whose content will be modified when the edit button is clicked.
      Returns:
      A new JButton customized with the specified text, font, and action listener for editing a JLabel.
      See Also:
    • isNumeric

      private boolean isNumeric(String str)
      The isNumeric method checks whether a given string is a numeric value, which may include integers and floating-point numbers (with or without a sign).
      Parameters:
      str - The input string to be checked for numeric content.
      str - The string to be evaluated for numeric content.
      Returns:
      true if the input string is a numeric value, and false otherwise.
      See Also: