Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package examenpractice;
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.Properties;
- import javax.swing.JFrame;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import javax.swing.SwingUtilities;
- import javax.swing.event.TableModelEvent;
- import javax.swing.event.TableModelListener;
- import javax.swing.table.AbstractTableModel;
- import oracle.jdbc.pool.OracleDataSource;
- /**
- *
- * @author jeffrey
- */
- public class ResultsetStuff
- {
- private static final String DRIVER_STRING = "oracle.jdbc.driver.OracleDriver";
- private static final String CONNECT_STRING = "jdbc:oracle:thin:@//192.168.0.107:1522/orcl";
- public ResultsetStuff()
- {
- final ArrayList<Person> persons = new ArrayList<Person>(5);
- persons.add(new Person("John", "Doe"));
- persons.add(new Person(DRIVER_STRING, DRIVER_STRING));
- persons.add(new Person("Herp", "Derp"));
- persons.add(new Person("Rofl", "Dofl"));
- persons.add(new Person("Derpa", "Hurrrr"));
- SwingUtilities.invokeLater(new Runnable()
- {
- @Override
- public void run()
- {
- TableFrame frame = new TableFrame(persons);
- frame.setVisible(true);
- }
- });
- /*ResultSet rs = null;
- Connection conn = null;
- PreparedStatement pstmt = null;
- try
- {
- conn = godTierConnection();
- pstmt = conn.prepareStatement("SELECT * FROM vliegtuigen");
- rs = pstmt.executeQuery();
- ResultSetMetaData data = rs.getMetaData();
- while (rs.next())
- {
- int numCols = data.getColumnCount() + 1;
- while (--numCols >= 1)
- {
- System.out.print(rs.getString(numCols));
- }
- System.out.println();
- }
- }
- catch (SQLException e)
- {
- System.err.println(e.getMessage());
- }
- finally
- {
- try
- {
- rs.close();
- pstmt.close();
- conn.close();
- }
- catch (SQLException ex)
- {
- System.err.println(ex.getMessage());
- }
- }*/
- }
- private Connection shitTierConnection()
- {
- Connection conn = null;
- try
- {
- Class.forName(DRIVER_STRING);
- conn = DriverManager.getConnection(CONNECT_STRING, "student", "xios");
- }
- catch (ClassNotFoundException e)
- {
- System.err.println(e.getMessage());
- }
- catch (SQLException ex)
- {
- System.err.println(ex.getMessage());
- }
- return conn;
- }
- private Connection godTierConnection()
- {
- Connection conn = null;
- try
- {
- OracleDataSource dSource = new OracleDataSource();
- Properties p = new Properties();
- p.setProperty("user", "student");
- p.setProperty("password", "xios");
- dSource.setConnectionProperties(p);
- dSource.setURL(CONNECT_STRING);
- return dSource.getConnection();
- }
- catch (SQLException e)
- {
- System.err.println(e.getMessage());
- }
- return conn;
- }
- private class Person
- {
- private String firstName;
- private String lastName;
- public Person(String firstName, String lastName)
- {
- this.firstName = firstName;
- this.lastName = lastName;
- }
- public String getFirstName()
- {
- return firstName;
- }
- public String getLastName()
- {
- return lastName;
- }
- }
- private class ValueTableModel extends AbstractTableModel
- {
- private Object[][] values;
- private String[] headers;
- public ValueTableModel(Object[][] values, final String[] headers)
- {
- this.values = values;
- this.headers = headers;
- }
- public String[] getHeaders()
- {
- return headers;
- }
- @Override
- public int getColumnCount()
- {
- return headers.length;
- }
- @Override
- public int getRowCount()
- {
- return values.length;
- }
- @Override
- public String getColumnName(int i)
- {
- return headers[i];
- }
- @Override
- public Class<?> getColumnClass(int i)
- {
- return getValueAt(0, i).getClass();
- }
- @Override
- public boolean isCellEditable(int i, int i1)
- {
- return true;
- }
- @Override
- public void setValueAt(Object o, int i, int i1)
- {
- values[i][i1] = o;
- fireTableCellUpdated(i, i1);
- }
- @Override
- public Object getValueAt(int i, int i1)
- {
- return values[i][i1];
- }
- }
- private class TableFrame extends JFrame
- {
- private JTable table;
- private ArrayList<Person> persons;
- public TableFrame(final ArrayList<Person> persons)
- {
- this.persons = persons;
- this.setPreferredSize(new Dimension(500, 500));
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.createGUI();
- this.pack();
- }
- private void createGUI()
- {
- String[] headers =
- {
- "First Name", "Last name"
- };
- Object[][] values = new Object[persons.size()][headers.length];
- int i = 0;
- for (Person p : persons)
- {
- int j = 0;
- values[i][j++] = p.getFirstName();
- values[i][j++] = p.getLastName();
- ++i;
- }
- this.table = new JTable(new ValueTableModel(values, headers));
- this.table.setShowGrid(false);
- this.table.setEnabled(true);
- this.table.getModel().addTableModelListener(new TableModelListener()
- {
- @Override
- public void tableChanged(TableModelEvent tme)
- {
- int col = tme.getColumn();
- int row = tme.getFirstRow();
- ValueTableModel model = (ValueTableModel) tme.getSource();
- System.out.format("Changed %s to %s. [ROW: %d; COL: %d]. -- %n", model.getColumnName(
- col), model.getValueAt(
- row, col), row, col);
- }
- });
- this.add(new JScrollPane(this.table), BorderLayout.CENTER);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement