Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dbutils;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- public class DBConnection {
- public final static String URL = "jdbc:mysql://localhost:3306/";
- public final static String DB = "northwind";
- private static Connection conn;
- public static Connection connect(String user, String password) throws SQLException
- {
- Connection c = DriverManager.getConnection(URL + DB, user, password);
- return c;
- }
- }
- package myp;
- import java.util.Calendar;
- import java.util.GregorianCalendar;
- import javax.swing.table.AbstractTableModel;
- public class TableData extends AbstractTableModel
- {
- public static Object[][] values = new Object[100][3];
- private final String[] Headers =
- {
- "ID", "Name", "Price"
- };
- @Override
- public int getRowCount()
- {
- return values.length;
- }
- @Override
- public int getColumnCount()
- {
- return values[0].length;
- }
- @Override
- public Object getValueAt(int rowIndex, int columnIndex)
- {
- return values[rowIndex][columnIndex];
- }
- //--------------------------------------------------------------------------
- @Override
- public String getColumnName( int column)
- {
- return Headers[column];
- }
- //--------------------------------------------------------------------------
- @Override
- public boolean isCellEditable( int row, int column)
- {
- return false;
- }
- }
- package myp;
- import javax.swing.SwingUtilities;
- import javax.swing.JList;
- import javax.swing.JFrame;
- import javax.swing.JScrollPane;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- import javax.swing.JTable;
- import javax.swing.table.TableColumn;
- import javax.swing.table.TableColumnModel;
- /* Компоненти на awt */
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.Container;
- import java.awt.BorderLayout;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseEvent;
- import java.awt.Color;
- import javax.swing.table.DefaultTableCellRenderer;
- /*import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;*/
- import java.sql.*;
- import dbutils.DBConnection;
- public class Main
- {
- public static void main(String[] args)
- {
- String[] labels = new String[10];
- final int[] categoryID = new int[10];
- String user = "root";
- String password = "";
- String query1 = "SELECT CategoryName, CategoryID FROM categories";
- try
- ( Connection connection = DBConnection.connect(user, password);
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery(query1);
- )
- {
- System.out.println("Connection to db accomplished.");
- resultSet.beforeFirst();
- while(resultSet.next())
- {
- labels [resultSet.getRow()] = resultSet.getString("CategoryName");
- categoryID [resultSet.getRow()] = Integer.parseInt(resultSet.getString("CategoryID"));
- }
- }
- catch(SQLException ex)
- {
- System.err.println("SQL Code:" + ex.getErrorCode());
- System.err.println("SQL State:" + ex.getSQLState());
- System.err.println("Message:" + ex.getMessage());
- }
- final JFrame frame = new JFrame("Product Explorer");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- Container contentPane = frame.getContentPane();
- JList jlist = new JList(labels);
- JScrollPane scrollPane1 = new JScrollPane(jlist);
- contentPane.add(scrollPane1, BorderLayout.EAST);
- TableData tableData = new TableData();
- JTable table = new JTable(tableData);
- table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
- table.setBackground(new Color(0, 0, 0));
- table.setDefaultRenderer(Float.class, new DefaultTableCellRenderer());
- JScrollPane scrollPane2 = new JScrollPane(table);
- contentPane.add(scrollPane2, BorderLayout.WEST);
- /**********************************************************************/
- MouseListener mouseListener = new MouseAdapter()
- {
- public void mouseClicked(MouseEvent mouseEvent)
- {
- JList theList = (JList) mouseEvent.getSource();
- int index = theList.locationToIndex(mouseEvent.getPoint());
- if (index >= 0)
- {
- TableData.values = new Object[100][3];
- String user = "root";
- String password = "";
- String query = "SELECT ProductID, ProductName, UnitPrice FROM products WHERE CategoryID = " + index;
- try
- (
- Connection connection = DBConnection.connect(user, password);
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery(query);
- )
- {
- resultSet.beforeFirst();
- while(resultSet.next())
- {
- int i = resultSet.getRow();
- TableData.values[i-1][0] = resultSet.getString("ProductID");
- TableData.values[i-1][1] = resultSet.getString("ProductName");
- TableData.values[i-1][2] = resultSet.getString("UnitPrice");
- frame.validate();
- frame.repaint();
- }
- }
- catch(SQLException ex)
- {
- System.err.println("SQL Code:" + ex.getErrorCode());
- System.err.println("SQL State:" + ex.getSQLState());
- System.err.println("Message:" + ex.getMessage());
- }
- }
- }
- };
- jlist.addMouseListener(mouseListener);
- frame.setSize(640, 480);
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement