Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

//This was week ones code import javax.swing.*; import java.awt.*; import java.a

ID: 3537231 • Letter: #

Question


//This was week ones code

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class Assignment_02Source extends JFrame
{
private JButton buttonPrev = new JButton("Prev");
private JButton buttonReset = new JButton("Reset");
private JButton buttonNext = new JButton("Next");

private JLabel labelHeader = new JLabel("Database Browser", JLabel.CENTER);
private JLabel labelName = new JLabel("Name");
private JLabel labelAddress = new JLabel("Address");
private JLabel labelCity = new JLabel("City");
private JLabel labelState = new JLabel("State");
private JLabel labelZip = new JLabel("Zip");

private JTextField textFieldName = new JTextField();
private JTextField textFieldAddress = new JTextField();
private JTextField textFieldCity = new JTextField();
private JTextField textFieldState = new JTextField();
private JTextField textFieldZip = new JTextField();


DataClass[] DataClassArray =
{
      new DataClass("Fred", "Wayne", "101 Here", "NE", "55551"),
      new DataClass("George", "Thomas", "102 There", "ME", "55552"),
      new DataClass("Mike", "Johnson", "103 No Where", "OK", "55553")
};

int arrayPointer = 0;

public Assignment_02Source(String title)
{
    super(title);
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    JPanel cp = (JPanel)getContentPane();
    labelHeader.setFont(new Font("TimesRoman", Font.BOLD, 24));
    labelHeader.setBounds(40, 10, 300, 50);

    buttonPrev.setBounds(30, 250, 80, 25);
    buttonReset.setBounds(150, 250, 80, 25);
    buttonNext.setBounds(270, 250, 80, 25);

    labelName.setBounds(10, 80, 80, 25);
    labelAddress.setBounds(10, 110, 80, 25);
    labelCity.setBounds(10, 140, 80, 25);
    labelState.setBounds(10, 170, 80, 25);
    labelZip.setBounds(10, 200, 80, 25);

    textFieldName.setBounds(120, 80, 250, 25);
    textFieldAddress.setBounds(120, 110, 250, 25);
    textFieldCity.setBounds(120, 140, 250, 25);
    textFieldState.setBounds(120, 170, 250, 25);
    textFieldZip.setBounds(120, 200, 250, 25);

    cp.setLayout(null);
    cp.add(labelHeader);
    cp.add(buttonPrev);
    cp.add(buttonReset);
    cp.add(buttonNext);
    cp.add(labelName);
    cp.add(textFieldName);
    cp.add(labelAddress);
    cp.add(textFieldAddress);
    cp.add(labelCity);
    cp.add(textFieldCity);
    cp.add(labelState);
    cp.add(textFieldState);
    cp.add(labelZip);
    cp.add(textFieldZip);

    arrayPointer = 0;
    setFields(arrayPointer);

    addWindowListener(new java.awt.event.WindowAdapter()
    {
        @Override
        public void windowClosing(java.awt.event.WindowEvent evt)
        {
            shutDown();
        }
    });
    buttonPrev.addActionListener(new java.awt.event.ActionListener()
    {
      @Override
      public void actionPerformed(java.awt.event.ActionEvent evt)
      {
        if (arrayPointer > 0)
        {
          arrayPointer -= 1;
        }
        else
        {
         arrayPointer = (DataClassArray.length - 1);
        }

        setFields(arrayPointer);
      }
    });
    buttonNext.addActionListener(new ActionListener()
    {
      @Override
      public void actionPerformed(java.awt.event.ActionEvent evt)
      {
        if (arrayPointer < DataClassArray.length - 1)
        {
          arrayPointer += 1;
        }
        else
        {
          arrayPointer = 0;
        }

       setFields(arrayPointer);
      }
    });
     buttonReset.addActionListener(new ActionListener()
    {
      @Override
      public void actionPerformed(java.awt.event.ActionEvent evt)
      {
        arrayPointer = 0;

        setFields(arrayPointer);
      }
    });
}


private void setFields(int position)
{
    textFieldName.setText(DataClassArray[position].getName());
    textFieldAddress.setText(DataClassArray[position].getAddress());
    textFieldCity.setText(DataClassArray[position].getCity());
    textFieldState.setText(DataClassArray[position].getState());
    textFieldZip.setText(DataClassArray[position].getZip());
}

private void shutDown()
{
     int returnVal=JOptionPane.showConfirmDialog(this, "Are you sure you want to quit?");
     if(returnVal==JOptionPane.YES_OPTION)
     {
         System.exit(0);
     }
}

public static void main(String[] args)
{
      Assignment_02Source a2 = new Assignment_02Source("Database Browser");
      a2.setSize(400, 350);
      a2.setVisible(true);
}

class DataClass
{
    String name;
    String address;
    String city;
    String state;
    String zipCode;

    DataClass(String name, String address, String city, String state, String zipCode)
    {
      this.name = name;
      this.address = address;
      this.city = city;
      this.state = state;
      this.zipCode = zipCode;
    }

    String getName() {return this.name; }
    String getAddress() { return this.address; }
    String getCity() { return this.city; }
    String getState() { return this.state; }
    String getZip() { return this.zipCode; }

}
}

Explanation / Answer

//This was week ones code

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Assignment_02Source extends JFrame {
    private JButton buttonPrev = new JButton("Prev");
    private JButton buttonReset = new JButton("Reset");
    private JButton buttonNext = new JButton("Next");

    private JLabel labelHeader = new JLabel("Database Browser", JLabel.CENTER);
    private JLabel labelName = new JLabel("Name");
    private JLabel labelAddress = new JLabel("Address");
    private JLabel labelCity = new JLabel("City");
    private JLabel labelState = new JLabel("State");
    private JLabel labelZip = new JLabel("Zip");

    private JTextField textFieldName = new JTextField();
    private JTextField textFieldAddress = new JTextField();
    private JTextField textFieldCity = new JTextField();
    private JTextField textFieldState = new JTextField();
    private JTextField textFieldZip = new JTextField();

   //JDBC related variables
    String jdbcURL = "jdbc:oracle:thin:@localhost:1521:ORCL";
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    String user = "user";
    String passwd = "user123";

    public Assignment_02Source(String title) {
        super(title);
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        JPanel cp = (JPanel) getContentPane();
        labelHeader.setFont(new Font("TimesRoman", Font.BOLD, 24));
        labelHeader.setBounds(40, 10, 300, 50);

        buttonPrev.setBounds(30, 250, 80, 25);
        buttonReset.setBounds(150, 250, 80, 25);
        buttonNext.setBounds(270, 250, 80, 25);

        labelName.setBounds(10, 80, 80, 25);
        labelAddress.setBounds(10, 110, 80, 25);
        labelCity.setBounds(10, 140, 80, 25);
        labelState.setBounds(10, 170, 80, 25);
        labelZip.setBounds(10, 200, 80, 25);

        textFieldName.setBounds(120, 80, 250, 25);
        textFieldAddress.setBounds(120, 110, 250, 25);
        textFieldCity.setBounds(120, 140, 250, 25);
        textFieldState.setBounds(120, 170, 250, 25);
        textFieldZip.setBounds(120, 200, 250, 25);

        cp.setLayout(null);
        cp.add(labelHeader);
        cp.add(buttonPrev);
        cp.add(buttonReset);
        cp.add(buttonNext);
        cp.add(labelName);
        cp.add(textFieldName);
        cp.add(labelAddress);
        cp.add(textFieldAddress);
        cp.add(labelCity);
        cp.add(textFieldCity);
        cp.add(labelState);
        cp.add(textFieldState);
        cp.add(labelZip);
        cp.add(textFieldZip);

       
        //JDBC Connection related code
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            conn = DriverManager.getConnection(jdbcURL, user, passwd);

            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM Person");
            DataClass personData = null;
            if (rs.next()) {
                personData = new DataClass(rs.getString("NAME"),
                        rs.getString("ADDRESS"), rs.getString("CITY"),
                        rs.getString("STATE"), rs.getString("ZIP"));
                setFields(personData);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        addWindowListener(new java.awt.event.WindowAdapter() {
            @Override
            public void windowClosing(java.awt.event.WindowEvent evt) {
                shutDown();
            }
        });
        buttonPrev.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                DataClass personData = null;
                try {
                    if (rs.isFirst()) {
                        rs.last();
                        personData = new DataClass(rs.getString("NAME"), rs
                                .getString("ADDRESS"), rs.getString("CITY"), rs
                                .getString("STATE"), rs.getString("ZIP"));
                    } else {
                        personData = new DataClass(rs.getString("NAME"), rs
                                .getString("ADDRESS"), rs.getString("CITY"), rs
                                .getString("STATE"), rs.getString("ZIP"));
                    }

                    setFields(personData);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
        buttonNext.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                try {
                    DataClass personData = null;
                    if (rs.next()) {
                        personData = new DataClass(rs.getString("NAME"), rs
                                .getString("ADDRESS"), rs.getString("CITY"), rs
                                .getString("STATE"), rs.getString("ZIP"));
                    } else {
                        rs.first();
                        personData = new DataClass(rs.getString("NAME"), rs
                                .getString("ADDRESS"), rs.getString("CITY"), rs
                                .getString("STATE"), rs.getString("ZIP"));
                    }

                    setFields(personData);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
        buttonReset.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                try {
                    DataClass personData = null;
                    rs.first();
                    personData = new DataClass(rs.getString("NAME"), rs
                            .getString("ADDRESS"), rs.getString("CITY"), rs
                            .getString("STATE"), rs.getString("ZIP"));
                    setFields(personData);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
    }

    private void setFields(DataClass personData) {
        textFieldName.setText(personData.getName());
        textFieldAddress.setText(personData.getAddress());
        textFieldCity.setText(personData.getCity());
        textFieldState.setText(personData.getState());
        textFieldZip.setText(personData.getZip());
    }

    private void shutDown() {
        int returnVal = JOptionPane.showConfirmDialog(this,
                "Are you sure you want to quit?");
        if (returnVal == JOptionPane.YES_OPTION) {
            System.exit(0);
        }
    }

    public static void main(String[] args) {
        Assignment_02Source a2 = new Assignment_02Source("Database Browser");
        a2.setSize(400, 350);
        a2.setVisible(true);
    }

    class DataClass {
        String name;
        String address;
        String city;
        String state;
        String zipCode;

        DataClass(String name, String address, String city, String state,
                String zipCode) {
            this.name = name;
            this.address = address;
            this.city = city;
            this.state = state;
            this.zipCode = zipCode;
        }

        String getName() {
            return this.name;
        }

        String getAddress() {
            return this.address;
        }

        String getCity() {
            return this.city;
        }

        String getState() {
            return this.state;
        }

        String getZip() {
            return this.zipCode;
        }

    }
}