Sunday, January 24, 2016

List Of Objects - Car list


//Car Class
========
package carexample;



/**
 *
 * @author zbawk
 */
public class Car {
    private String make;
    private String model;
    private int year;
    private int mileage;
    private double price;

    public Car(String make, String model, int year, int mileage, double price) {
        this.make = make;
        this.model = model;
        this.year = year;
        this.mileage = mileage;
        this.price = price;
    }

    public String getMake() {
        return make;
    }

    public String getModel() {
        return model;
    }

    public int getYear() {
        return year;
    }

    public int getMileage() {
        return mileage;
    }

    public double getPrice() {
        return price;
    }

    public void setMileage(int mileage) {
        this.mileage = mileage;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}


//====================================================================
package carexample;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Locale;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author lzerrouki
 */
public class ObjectsFrame extends javax.swing.JFrame {

    ArrayList<Car> carsList = new ArrayList<Car>();
    /**
     * Creates new form ObjectsFrame
     */
    public ObjectsFrame() {
        initComponents();
       
        //add action event to the jbtnSaveToList
        jbtnSaveToList.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                //read car data
                String make = jtxtMake.getText();
                String model = jtxtModel.getText();
                int year = Integer.parseInt(jtxtYear.getText());
                int mileage = Integer.parseInt(jtxtMileage.getText());
                double price = Double.parseDouble(jtxtPrice.getText());
                //create a car object
                Car car = new Car(make,model,year,mileage,price);
                //save it to the list
                carsList.add(car);
                //optional: display a messagebox
                JOptionPane.showMessageDialog(null,
                                      "car data has been save to the list");
            }
        });
       
        //Jan. 14, 2016
        jbtnDisplayListOfCars.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                for (Car car: carsList){
                    DefaultTableModel dmodel = (DefaultTableModel)jTable1.getModel();
                    //add new row to the table
                    dmodel.addRow(new Object [] {car.getMake(), car.getModel(), car.getYear(), car.getMileage(), car.getPrice()});
                   
                 
                }
            }
        });
       
        jbtnGetSelectedRow.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                //get the index of the selected row
                int sindex = jTable1.getSelectedRow();
                //you can findout the number of rows
                int numOfRow = jTable1.getRowCount();
                //you can find out the cell values of any row, or the selected row
               
                DefaultTableModel dmodel = (DefaultTableModel)jTable1.getModel();
                //get the first value of the selected row
                String make = (String)dmodel.getValueAt(sindex, 0);
                //get the second value....
                String model = (String)dmodel.getValueAt(sindex, 1);
                //get the third value
                int year = (int)dmodel.getValueAt(sindex, 2);
                //get the fourth value "price"
                double price = (double)dmodel.getValueAt(sindex, 4);
               
                NumberFormat formatter = NumberFormat.getCurrencyInstance(Locale.US);
               
                JOptionPane.showMessageDialog(null, "car make: " + make + "\n" +
                                                    "car model: " + model + "\n" +
                                                    "car year: " + year + "\n" +
                                                    "car price: " + formatter.format(price));
            }
        });
    }

No comments:

Post a Comment