Question

In: Computer Science

Assignment Task Java Object Orientated GUI CQ Real Estate (CQRE) has requested you to create a...

Assignment Task

Java Object Orientated GUI

CQ Real Estate (CQRE) has requested you to create a Swing based Java GUI application to cater their needs. Whenever CQRE receives a property sale offer from the seller, it assigns an employee exclusively to that sale offer and then lists it for sale. When the prospective buyers provide their offers for buying these properties, CQRE maintains the details of those purchase offers. You may note that there can be many purchase offers for the same listed property. Some of the purchase offers may be less than and some may be more than the seller’s seeking price for a property.

The listed property details must include the following:

Type of the property (house/unit/villa)

Address of the property

Area of the property (in square meters)

Number of bed rooms, garages and toilets available in the property

Details of principal owner (only one owner’s detail even though there can be multiple owners to the same property)

The sale offer must include the following:

Property details

Date of Offer

End date

(Seeking) Amount

Name of the employee assigned to the property sale offer

Sale commission percentage

The purchase offer must include the following:

Sale offer details

(Offered) Amount

Date of Offer

Details of prospective buyer (only one prospective buyer’s detail even though there can be many prospective buyers for one purchase offer)

Solutions

Expert Solution

/----------------------------------------------------------------------------
// RealEstate.java             
//
// Helps keep track of a company's real estate listings.
//----------------------------------------------------------------------------

import java.awt.*;            
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import ch03.houses.*;
import ch03.genericLists.*;

public class RealEstate
{
  // the list of house information
  private static SortedList list = new SortedList();

  // text fields
  private static JTextField lotText;              // Lot number field
  private static JTextField firstText;            // First name field
  private static JTextField lastText;             // last name field
  private static JTextField priceText;            // price field
  private static JTextField feetText;             // square feet field
  private static JTextField bedText;              // number of bedrooms field

  // status Label
  private static JLabel statusLabel;              // Label for status info

  // display information about parameter house on screen
  private static void showHouse(ListHouse house)
  {
    lotText.setText(Integer.toString(house.lotNumber()));
    firstText.setText(house.firstName());                    
    lastText.setText(house.lastName());                    
    priceText.setText(Integer.toString(house.price()));                    
    feetText.setText(Integer.toString(house.squareFeet()));
    bedText.setText(Integer.toString(house.bedRooms()));
  }

  // Returns current screen information as a ListHouse
  private static ListHouse getHouse()
  {
    String lastName;
    String firstName;
    int lotNumber;
    int price;
    int squareFeet;
    int bedRooms;

    lotNumber = Integer.parseInt(lotText.getText());
    firstName = firstText.getText();                    
    lastName = lastText.getText();                    
    price = Integer.parseInt(priceText.getText()); 
    squareFeet = Integer.parseInt(feetText.getText());
    bedRooms = Integer.parseInt(bedText.getText());

    ListHouse house = new ListHouse(lastName, firstName, lotNumber, price, 
                                    squareFeet, bedRooms);
    return house;
  }

  // Clears house information from screen
  private static void clearHouse()
  {
    lotText.setText("");
    firstText.setText("");                    
    lastText.setText("");                    
    priceText.setText("");                    
    feetText.setText("");
    bedText.setText("");
  }

  // Define a button listener
  private static class ActionHandler implements ActionListener 
  {
    public void actionPerformed(ActionEvent event)
    // Listener for the button events
    {
      ListHouse house;

      if (event.getActionCommand().equals("Reset"))
      { // Handles Reset event
        list.reset();
        if (list.lengthIs() == 0)
          clearHouse();
        else
        {
          house = (ListHouse)list.getNextItem();
          showHouse(house);
        }
        statusLabel.setText("List reset"); 
      }
      else
      if (event.getActionCommand().equals("Next"))
      { // Handles Next event
        if (list.lengthIs() == 0)
          statusLabel.setText("list is empty!");
        else
          {
          house = (ListHouse)list.getNextItem();
          showHouse(house);
          statusLabel.setText("Next house displayed");
        }
      }
      else
      if (event.getActionCommand().equals("Add"))
      { // Handles Add event
        try
        {
          house = getHouse();
          if (list.isThere(house))
            statusLabel.setText("Lot number already in use"); 
          else
          {
            list.insert(house);
            statusLabel.setText("House added to list"); 
          }
        }
        catch (NumberFormatException badHouseData)
        {
          // text field info incorrectly formated
          statusLabel.setText("Number? " + badHouseData.getMessage());
        } 
      }
      else
      if (event.getActionCommand().equals("Delete"))
      { // Handles Delete event
        try
        {
          house = getHouse();
          if (list.isThere(house))
          {
            list.delete(house);
            statusLabel.setText("House deleted"); 
          }
          else
            statusLabel.setText("Lot number not on list"); 
        }
        catch (NumberFormatException badHouseData)
        {
          // text field info incorrectly formated
          statusLabel.setText("Number? " + badHouseData.getMessage());
        } 
      }
      else
      if (event.getActionCommand().equals("Clear"))
      { // Handles Clear event
        clearHouse();
        statusLabel.setText(list.lengthIs() + " houses on list");
      }
      else
      if (event.getActionCommand().equals("Find"))
      { // Handles Find event
        int lotNumber;
        try
        {
          lotNumber = Integer.parseInt(lotText.getText());
          house = new ListHouse("", "", lotNumber, 0, 0, 0);
          if (list.isThere(house))
          {
            house = (ListHouse)list.retrieve(house);
            showHouse(house);
            statusLabel.setText("House found"); 
          }
          else
          statusLabel.setText("House not found");
        }
        catch (NumberFormatException badHouseData)
        {
          // text field info incorrectly formated
          statusLabel.setText("Number? " + badHouseData.getMessage());
        } 
      }
    }
  }

  public static void main(String args[]) throws IOException

  {
    ListHouse house;
    char command;
    int length;

    JLabel blankLabel;         // To use up one frame slot

    JLabel lotLabel;           // Labels for input fields
    JLabel firstLabel;                            
    JLabel lastLabel;
    JLabel priceLabel;
    JLabel feetLabel;
    JLabel bedLabel;

    JButton reset;             // Reset button
    JButton next;              // Next button
    JButton add;               // Add button
    JButton delete;            // Delete button
    JButton clear;             // Clear button
    JButton find;              // Find button
    ActionHandler action;      // Declare listener
 
    // Declare/instantiate/initialize display frame
    JFrame displayFrame = new JFrame();
    displayFrame.setTitle("Real Estate Program");
    displayFrame.setSize(350,400);
    displayFrame.addWindowListener(new WindowAdapter()  // handle window closing
    {
      public void windowClosing(WindowEvent event)
      {
        ListHouse house;
        try 
        {
          // Store info from list into house file
          HouseFile.rewrite();
          list.reset();
          int length = list.lengthIs();
          for (int counter = 1; counter <= length; counter++)
          {
            house = (ListHouse)list.getNextItem();
            HouseFile.putToFile(house);
          }
          HouseFile.close();
        }
        catch (IOException fileCloseProblem)
        {
          System.out.println("Exception raised concerning the house info file " 
                              + "upon program termination");
        }
        System.exit(0);                           // Quit the program
      }
    });

    // Instantiate content pane and information panel
    Container contentPane = displayFrame.getContentPane();
    JPanel infoPanel = new JPanel();

    // Instantiate/initialize labels, and text fields
    statusLabel = new JLabel("", JLabel.CENTER);
    statusLabel.setBorder(new LineBorder(Color.red));
    blankLabel = new JLabel("");    
    lotLabel = new JLabel("Lot Number:  ", JLabel.RIGHT);
    lotText = new JTextField("", 15);
    firstLabel = new JLabel("First Name:  ", JLabel.RIGHT);
    firstText = new JTextField("", 15);
    lastLabel = new JLabel("Last Name:  ", JLabel.RIGHT);
    lastText = new JTextField("", 15);
    priceLabel = new JLabel("Price:  ", JLabel.RIGHT);
    priceText = new JTextField("", 15);
    feetLabel = new JLabel("Square Feet:  ", JLabel.RIGHT);
    feetText = new JTextField("", 15);
    bedLabel = new JLabel("Number of Bedrooms:  ", JLabel.RIGHT);
    bedText = new JTextField("", 15);
 
    // Instantiate/register buttons
    reset = new JButton("Reset");
    next = new JButton("Next");
    add = new JButton("Add");
    delete = new JButton("Delete");
    clear = new JButton("Clear");
    find = new JButton("Find");

    // Instantiate/register button listeners
    action = new ActionHandler();
    reset.addActionListener(action);
    next.addActionListener(action);
    add.addActionListener(action);
    delete.addActionListener(action);
    clear.addActionListener(action);
    find.addActionListener(action);

    // Load info from house file into list
    HouseFile.reset();
    while (HouseFile.moreHouses())
    {
      house = HouseFile.getNextHouse();
      list.insert(house);
    }

    // If possible insert info about first house into text fields
    list.reset();
    if (list.lengthIs() != 0)
    {
      house = (ListHouse)list.getNextItem();
      showHouse(house);
    }

    // Update status
    statusLabel.setText(list.lengthIs() + " houses on list                ");

    // Add components to frame
    infoPanel.setLayout(new GridLayout(10,2));
    infoPanel.add(statusLabel);
    infoPanel.add(blankLabel);
    infoPanel.add(lotLabel);
    infoPanel.add(lotText);
    infoPanel.add(firstLabel);
    infoPanel.add(firstText);
    infoPanel.add(lastLabel);
    infoPanel.add(lastText);
    infoPanel.add(priceLabel);
    infoPanel.add(priceText);
    infoPanel.add(feetLabel);
    infoPanel.add(feetText);
    infoPanel.add(bedLabel);
    infoPanel.add(bedText);
    infoPanel.add(reset);
    infoPanel.add(next);
    infoPanel.add(add);
    infoPanel.add(delete);
    infoPanel.add(clear);
    infoPanel.add(find);

    // set up and show the frame
    contentPane.add(infoPanel);      
    displayFrame.show();      

  }
}

This is similar type of code according to ur question .change the variable name accordingly


Related Solutions

Use Java GUI create following: Task 1: A basic UI with a button and a TextField,...
Use Java GUI create following: Task 1: A basic UI with a button and a TextField, when you press the button, set the button text to the current text field contents. Task 2: set the text field text to the mouse coordinates when that same button is pushed.
As a real estate analyst, you are requested by the manager to construct a simple linear...
As a real estate analyst, you are requested by the manager to construct a simple linear regression for the relationship between the house value (x) and the upkeep spending (y). (a) Write the simple linear regression equation below. (b) What are b0 and b1? (c) Interpret the meanings of b0 and b1. (d) If the house value (x) is 150, what will the upkeep spending (y) be, using the simple linear regression model 4a? (e) Draw the scatterplot showing the...
4. As a real estate analyst, you are requested by the manager to construct a simple...
4. As a real estate analyst, you are requested by the manager to construct a simple linear regression for the relationship between the house value (x) and the upkeep spending (y). (a) Write the simple linear regression equation below. (b) What are b0 and b1? (c) Interpret the meanings of b0 and b1. (d) If the house value (x) is 150, what will the upkeep spending (y) be, using the simple linear regression model 4a? (e) Draw the scatterplot showing...
Create a java Swing GUI application that presents the user with a “fortune”. Create a java...
Create a java Swing GUI application that presents the user with a “fortune”. Create a java Swing GUI application in a new Netbeans project called FortuneTeller. Your project will have a FortuneTellerFrame.java class (which inherits from JFrame) and a java main class: FortuneTellerViewer.java. Your application should have and use the following components: Top panel: A JLabel with text “Fortune Teller” (or something similar!) and an ImageIcon. Find an appropriate non-commercial Fortune Teller image for your ImageIcon. (The JLabel has a...
In java, Create a GUI which works as an accumulator 1. There is a textfield A...
In java, Create a GUI which works as an accumulator 1. There is a textfield A which allows user to enter a number 2. There is also another textfield B with value start with 0. 3. When a user is done with entering the number in textfield A and press enter, calculate the sum of the number in textfield B and the number user just entered in textfield A, and display the updated number in textfield B
Write Java code which will create a GUI window on screen. The window has one button:...
Write Java code which will create a GUI window on screen. The window has one button: Doggy. When the user selects Doggy, “Bow Bow” should be printed on screen. Justify your syntax.
Write Java code which will create a GUI window on screen. The window has one button:...
Write Java code which will create a GUI window on screen. The window has one button: Doggy. When the user selects Doggy, “Bow Bow” should be printed on screen. Justify your syntax.
Write Java code which will create a GUI window on screen. The window has one button:...
Write Java code which will create a GUI window on screen. The window has one button: Doggy. When the user selects Doggy, “Bow Bow” should be printed on screen. Justify your syntax.
Write Java code which will create a GUI window on screen. The window has one button:...
Write Java code which will create a GUI window on screen. The window has one button: Doggy. When the user selects Doggy, “Bow Bow” should be printed on screen. Justify your syntax.
Write Java code which will create a GUI window on screen. The window has one button:...
Write Java code which will create a GUI window on screen. The window has one button: Doggy. When the user selects Doggy, “Bow Bow” should be printed on screen. Justify your syntax.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT