Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.Vector;
- /**
- * Created by Admin on 18.11.2016.
- */
- public class JTableWindow{
- private static final String url = "jdbc:mysql://localhost:3306/carsfff";
- private static final String user = "root";
- private static final String password = "root";
- // поля для открытия подключения и получения значенией с Mysql
- private static Connection con;
- private static Statement stmt;
- private static ResultSet rs;
- // массив переменного размера
- Vector<Object> vector = new Vector<>();
- JButton btn = new JButton("Update");
- JTextField field1 = new JTextField(8);
- JTextField field2 = new JTextField(8);
- JTextField field3 = new JTextField(8);
- JTextField field4 = new JTextField(8);
- JTextField field5 = new JTextField(8);
- //Объект таблицы
- JTable jTable;
- JTableWindow() {
- conToMysql();// метод с соединением
- //Создаем новый контейнер JFrame
- JFrame jFrame = new JFrame("Mysql V1.37");
- //Устанавливаем диспетчер компоновки
- jFrame.getContentPane().setLayout(new FlowLayout()); //отстуоп справа, лева(25)и верх (15)
- //Устанавливаем размер окна
- jFrame.setSize(1000, 470);
- //Устанавливаем завершение программы при закрытии окна
- jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jFrame.add(field1);
- jFrame.add(field2);
- jFrame.add(field3);
- jFrame.add(field4);
- jFrame.add(field5);
- //Создадим список из сущностей класса ValueInTable
- ArrayList valueInTables = new ArrayList();
- valueInTables.add( new ValueInTable(vector.get(0), vector.get(1), vector.get(2),
- vector.get(3), vector.get(4) ));
- //Создадим модель таблицы
- MyTableModel tModel = new MyTableModel(valueInTables);
- // добавляем кнопку на JFrame
- jFrame.add(btn);
- // данные обновляются в таблице слушатель на кнопку
- btn.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- valueInTables.add(new ValueInTable(field1.getText(), field2.getText(),
- Integer.valueOf(field3.getText()), Integer.valueOf(field4.getText()),
- Integer.valueOf(field5.getText()) ) );
- addValues();
- tModel.fireTableDataChanged();
- }
- });
- // jFrame.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT));
- //На основе модели, создадим новую JTable
- jTable = new JTable(tModel);
- //Создаем панель прокрутки и включаем в ее состав нашу таблицу
- JScrollPane jscrlp = new JScrollPane(jTable);
- //Устаналиваем размеры прокручиваемой области
- jTable.setPreferredScrollableViewportSize(new Dimension(550, 200));
- //Добавляем в контейнер нашу панель прокрути и таблицу вместе с ней
- jFrame.getContentPane().add(jscrlp);
- // отображение фрейма по центру
- jFrame.setLocationRelativeTo(null);
- //Отображаем контейнер
- jFrame.setVisible(true);
- }
- public void conToMysql(){
- // поля для подключения к Mysql серверу
- String query = "select * from tbl1";
- try {
- // opening database connection to MySQL server
- con = DriverManager.getConnection(url, user, password);
- // getting Statement object to execute query
- stmt = con.createStatement();
- // executing SELECT query
- rs = stmt.executeQuery(query);
- // к-тво элементов в строке
- int x = rs.getMetaData().getColumnCount();
- while (rs.next()) {
- for (int i = 1; i <= x; i++){
- vector.add(rs.getObject(i));
- }
- }
- } catch (SQLException sqlEx) {
- sqlEx.printStackTrace();
- } finally {
- //close connection ,stmt and resultset here
- try { con.close(); } catch(SQLException se) { /*can't do anything */ }
- try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
- try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
- }
- }
- public void addValues(){
- // поля для подключения к Mysql серверу
- String query1 = "update tbl1 set CODE=" + "'"+ field1.getText() +"'";
- String query2 = "update tbl1 set TYPE=" + "'"+ field2.getText() +"'";
- String query3 = "update tbl1 set QUANTITY=" + "'"+ field3.getText() +"'";
- String query4 = "update tbl1 set PRICE=" + "'"+ field4.getText() +"'";
- String query5 = "update tbl1 set YEAR=" + "'"+ field5.getText() +"'";
- try {
- // opening database connection to MySQL server
- con = DriverManager.getConnection(url, user, password);
- // getting Statement object to execute query
- stmt = con.createStatement();
- // executing SELECT query
- stmt.executeUpdate(query1);
- stmt.executeUpdate(query2);
- stmt.executeUpdate(query3);
- stmt.executeUpdate(query4);
- stmt.executeUpdate(query5);
- } catch (SQLException sqlEx) {
- sqlEx.printStackTrace();
- } finally {
- //close connection ,stmt and resultset here
- try { con.close(); } catch(SQLException se) { /*can't do anything */ }
- try { stmt.close(); } catch(SQLException se) { /*can't do anything */ }
- try { rs.close(); } catch(SQLException se) { /*can't do anything */ }
- }
- }
- //Функция main, запускающаяся при старте приложения
- public static void main(String[] args) {
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- new JTableWindow();
- }
- });
- }
- }
- /**
- * Created by Admin on 18.11.2016.
- */
- public class ValueInTable {
- Object code;
- Object type;
- Object quantity;
- Object price;
- Object year;
- public ValueInTable(Object code, Object type, Object quantity, Object price, Object year){
- this.code = code;
- this.type = type;
- this.quantity = quantity;
- this.price = price;
- this.year = year;
- }
- public Object getCode(){
- return code;
- }
- public Object getType(){
- return type;
- }
- public Object getQuantity(){
- return quantity;
- }
- public Object getPrice(){
- return price;
- }
- public Object getYear(){
- return year;
- }
- }
- import javax.swing.table.AbstractTableModel;
- import java.util.ArrayList;
- /**
- * Created by Admin on 18.11.2016.
- */
- public class MyTableModel extends AbstractTableModel{
- ArrayList<ValueInTable> valueInTables;
- MyTableModel(ArrayList<ValueInTable> valueInTable){
- super();
- this.valueInTables = valueInTable;
- }
- @Override
- public int getRowCount() {
- return valueInTables.size();
- }
- @Override
- public int getColumnCount() {
- return 5;
- }
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- if (columnIndex == 0)
- return valueInTables.get(rowIndex).getCode();
- else if (columnIndex == 1)
- return valueInTables.get(rowIndex).getType();
- else if (columnIndex == 2)
- return valueInTables.get(rowIndex).getQuantity();
- else if (columnIndex == 3)
- return valueInTables.get(rowIndex).getPrice();
- else if (columnIndex == 4)
- return valueInTables.get(rowIndex).getYear();
- else
- return "Other_Column";
- }
- public String getColumnName(int c){
- if (c == 0)
- return "Code ";
- else if (c == 1)
- return "Type ";
- else if (c == 2)
- return "Quantity ";
- else if (c == 3)
- return "Price ";
- else if (c == 4)
- return "Year ";
- else
- return "------";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement