Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.sql.*;
- /**
- * Created by Admin on 24.11.2016.
- */
- public class AddValsInMysql {
- //создаем значения в БД
- void createValsInMysql(JTextField field1, JTextField field2, JTextField field3, JTextField field4, JTextField field5,
- Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
- String query = "INSERT INTO carsfff.tbl1 (CODE, TYPE, QUANTITY, PRICE, YEAR) VALUES (" +
- "'" + field1.getText() + "'" + "," +
- "'" + field2.getText() + "'" + "," +
- "'" + field3.getText() + "'" + "," +
- "'" + field4.getText() + "'" + "," +
- "'" + field5.getText() + "'" + ")";
- try {
- // opening database connection to MySQL server
- con = DriverManager.getConnection(url, user, password);
- // getting Statement object to execute query
- stmt = con.createStatement();
- /*Ввод строк JTextfields в таблицу mysql*/
- stmt.executeUpdate(query);
- } 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 */ }
- }
- }
- }
- import javax.swing.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- /**
- * Created by Admin on 24.11.2016.
- */
- public class ButtonUpdateActListn {
- Message messageUpdate = new Message();
- void btnUpActListen(JButton btnUpdate, ArrayList valueInTables, JTextField field1, JTextField field2,
- JTextField field3, JTextField field4, JTextField field5, JTextField fieldID ,
- UpdateStringInTable updateStringInTable, String url, String user, String password,
- Connection con, Statement stmt, ResultSet rs, MyTableModel tModel){
- // данные изменяются в таблице. Слушатель на кнопку
- btnUpdate.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()) ) );
- updateStringInTable.updateValues(url, user, password, field1, field2, field3, field4, field5,
- con, stmt, rs, Integer.valueOf(fieldID.getText()) );
- // выводим сообщение посне нажатия кнопки
- messageUpdate.showMsDialogBtnUpdate(ae, btnUpdate, Integer.valueOf(String.valueOf(fieldID.getText())));
- tModel.fireTableDataChanged();
- }
- });
- }
- }
- import javax.swing.*;
- import javax.swing.border.EmptyBorder;
- import javax.swing.border.TitledBorder;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- /**
- * Created by Admin on 27.11.2016.
- */
- public class CreateAccount extends JFrame{
- JButton btnOk;
- JButton btnCancel;
- JTextField loginField;
- JPasswordField passwordField1;
- JPasswordField passwordField2;
- // класс задает рамер кнопок
- SizeButtons sizeButtons = new SizeButtons();
- Message message = new Message();
- // клас помогает сдетать запрос в базу
- QueryInDatabase queryInDatabase = new QueryInDatabase();
- private static final String url = "jdbc:mysql://localhost:3306/authorization";
- 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;
- CreateAccount(){
- super("Авторизация");
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- // устанавливаем иконку
- iconLogin();
- // первая горизонтальная панель для логина
- Box box1 = Box.createHorizontalBox();
- JLabel loginLabel = new JLabel(" Логин:");
- loginField = new JTextField(15);
- box1.add(loginLabel);
- box1.add(Box.createHorizontalStrut(7));
- box1.add(loginField);
- box1.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JTextField и краем окна
- // втотрая горизонтальная панель для первого пароля
- Box box2 = Box.createHorizontalBox();
- JLabel passLabel1 = new JLabel("Пароль:");
- passwordField1 = new JPasswordField(15);
- box2.add(passLabel1);
- box2.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
- box2.add(passwordField1);
- box2.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
- // третяя горизонтальная панель для второго пароля
- Box box3 = Box.createHorizontalBox();
- JLabel passLabel2 = new JLabel("Пароль:");
- passwordField2 = new JPasswordField(15);
- box3.add(passLabel2);
- box3.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
- box3.add(passwordField2);
- box3.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
- // четвертая горизонтальная панель
- Box box4 = Box.createHorizontalBox();
- btnOk = new JButton("Ok");
- btnCancel = new JButton("Cancel");
- //задаем размер кнопок
- sizeButtons.setSizeBtnCreateAccount(btnOk, btnCancel);
- //создаем отступы и добавляем кнопки
- box4.add(Box.createHorizontalGlue());
- box4.add(btnOk);
- box4.add(Box.createHorizontalStrut(5)); //прозрачный отступ между кнопками
- box4.add(btnCancel);
- box4.add(Box.createHorizontalStrut(15)); // отступ от кнопок доправого края окна
- // Уточняем размеры компонентов
- loginLabel.setPreferredSize(passLabel1.getPreferredSize());
- passLabel1.setPreferredSize(passLabel2.getPreferredSize());
- // помещаем в вертикальный mainBox горизонтальные Box-ы
- Box mainBox = Box.createVerticalBox();
- mainBox.setBorder((new TitledBorder("Create Account"))); // заголовок Box-а
- // mainBox.setBorder(new EmptyBorder(40,0,0,0)); // //пустая граница
- mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми между логин и пароли
- mainBox.add(box1);
- mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми
- mainBox.add(box2);
- mainBox.add(Box.createVerticalStrut(3)); // пустые отступы между box-ми
- mainBox.add(box3);
- mainBox.add(Box.createVerticalStrut(15));
- mainBox.add(box4);
- setContentPane(mainBox);
- // устанавливает оптимальный размер окна
- pack();
- // отключает кнопку max и возможность изменения окна
- setResizable(false);
- // отображение фрейма по центру
- setLocationRelativeTo(null);
- setVisible(true);
- // слушатель на кнопку btnoOk
- this.btnOk.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- // проверяем заполнены ли JTextField и JPasswordField-ы а также еть ли такой логин в БД
- if ( emptyLoginPassTextField(ae, btnOk )){
- if ( addInBDLoginsAndPasses(ae, btnOk ) ){
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- // вызвывем JFrameLogin
- new JFrameLogin();
- // закрываем окно CreateAccount
- dispose();
- }
- });
- }
- }
- }
- });
- // слушатель на кнопку btnCancel
- this.btnCancel.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- // вызвывем JFrameLogin
- new JFrameLogin();
- // закрываем окно CreateAccount
- dispose();
- }
- });
- }
- });
- }
- // устанавливаем иконку JFrameLogin
- public void iconLogin(){
- /* Toolkit kit =Toolkit.getDefaultToolkit();
- Image img = kit.getImage("src\\images\\key32.png");
- setIconImage(img);*/
- setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
- }
- // проверка заполнено ли LoginTextField JPasswordField
- public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
- boolean flag = true;
- if ( (String.valueOf(loginField.getText()).isEmpty()) &&
- (String.valueOf(passwordField1.getText()).isEmpty()) &&
- (String.valueOf(passwordField2.getText())).isEmpty() ){
- message.showMsDialogNoLoginPass(event, bntOk);
- flag = false;
- }
- else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
- message.showMsDialogNoLogin(event, bntOk);
- flag = false;
- }
- else if ( String.valueOf(passwordField1.getText()).isEmpty() &&
- (String.valueOf(passwordField2.getText())).isEmpty() ||
- (String.valueOf(passwordField1.getText())).isEmpty() ||
- (String.valueOf(passwordField2.getText())).isEmpty() ){
- message.showMsDialogNoPass(event, bntOk);
- flag = false;
- }
- //проверка на совпадение длины паролей passwordField1 и passwordField2
- else if ( (String.valueOf(passwordField1.getText())).length() != String.valueOf(passwordField2.getText()).length() ||
- !(new String(passwordField1.getPassword()).equals( new String( passwordField2.getPassword())) ) ){
- message.showMsDialogPass1Pass2NotEquels(event, bntOk);
- flag = false;
- }
- return flag;
- }
- // добавляем логин и пароль в базу
- public boolean addInBDLoginsAndPasses(ActionEvent event, JButton btnOk){
- int ID = 0;
- boolean flag = true;
- // ищим есть ли в базе логины совподающие с loginField
- ID = queryInDatabase.searchIdInTable("login1", "NAME", String.valueOf(loginField.getText()),
- con, stmt, rs, url,user,password );
- // если нет
- if (ID == 0){
- // добавляем логин в БД
- queryInDatabase.addValuesInBD("login1", "NAME", String.valueOf(loginField.getText()),
- con, stmt, url, user, password);
- // добавляем пароль в БД
- queryInDatabase.addValuesInBD("pass", "PASSWORDS",
- String.valueOf(new String(passwordField2.getPassword())), con, stmt, url, user, password );
- // сообщение об удачном создании логина и пароля
- message.showMsDialogLoginAndPassAddInBD(event, btnOk);
- // message.showMsDialogTEST(button, ID, passFld2);
- }
- else {
- // сообщение что такой логин существует
- message.showMsDialogLoginAlreadyInDB(event, btnOk);
- flag = false;
- }
- return flag;
- }
- }
- import java.sql.*;
- /**
- * Created by Admin on 24.11.2016.
- */
- public class GetCountToAllRowsInMysql {
- //узнаем к-тво строк в БД
- public int getAllRowsMysql(Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
- String query = "SELECT count(*) FROM tbl1";
- int allRows = 0;
- 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);
- /*Вывод строки таблици*/
- while (rs.next()) {
- allRows = rs.getInt(1);
- }
- } 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 */ }
- }
- return allRows;
- }
- }
- import javax.swing.*;
- import javax.swing.border.EmptyBorder;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- /**
- * Created by Admin on 26.11.2016.
- */
- public class JFrameLogin extends JFrame{
- JTextField loginField;
- JPasswordField passwordField;
- // класс с установкой размера кнопок
- SizeButtons sizeButtons = new SizeButtons();
- // вывод сообщений
- Message message = new Message();
- // запрос в БД на получение Id
- QueryInDatabase queryInDatabase = new QueryInDatabase();
- private static final String url = "jdbc:mysql://localhost:3306/authorization";
- 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;
- JButton bntOk = new JButton("OK");
- JButton btnCancel = new JButton("Отмена");
- JButton btnCreate = new JButton("Создать");
- JFrameLogin(){
- super("Вход в систему");
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- // устанавливаем иконку
- iconLogin();
- // первая горизонтальная панель для ввода логина
- Box box1 = Box.createHorizontalBox();
- JLabel loginLabel = new JLabel(" Логин:");
- loginField = new JTextField(5);
- box1.add(loginLabel);
- box1.add(Box.createHorizontalStrut(3));
- box1.add(loginField);
- // вторая горизонтальная панель для ввода пароля
- Box box2 = Box.createHorizontalBox();
- JLabel passwordLabel = new JLabel("Пароль: ");
- passwordField = new JPasswordField(5);
- box2.add(passwordLabel);
- box2.add(Box.createHorizontalStrut(5));
- box2.add(passwordField);
- // Настраиваем третью горизонтальную панель
- Box box3 = Box.createHorizontalBox();
- //задаем размер кнопок
- sizeButtons.setSizeBtnLogin(bntOk,btnCancel,btnCreate);
- //здаем отступы между кнопок
- box3.add(Box.createHorizontalGlue());
- box3.add(bntOk);
- box3.add(Box.createHorizontalStrut(5)); // промежуток между кнопками OK и Cancel
- box3.add(btnCancel);
- box3.add(Box.createHorizontalStrut(5));
- box3.add(btnCreate);
- // Уточняем размеры компонентов
- loginLabel.setPreferredSize(passwordLabel.getPreferredSize());
- // размещаем три горизонтальные панели на одной вертикальной
- Box mainBox = Box.createVerticalBox();
- mainBox.setBorder(new EmptyBorder(8,15,8,20)); //пустая граница
- mainBox.add(box1);
- mainBox.add(Box.createVerticalStrut(12));
- mainBox.add(box2);
- mainBox.add(Box.createVerticalStrut(12));
- mainBox.add(box3);
- setContentPane(mainBox);
- // устанавливает оптимальный размер окна
- pack();
- // отключает кнопку max и возможность изменения окна
- setResizable(false);
- // отображение фрейма по центру
- setLocationRelativeTo(null);
- setVisible(true);
- // слушатель на кнопку bntOk
- this.bntOk.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- if ( emptyLoginPassTextField(ae, bntOk) ){ // если JTextField не пустое
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- // вызвывем JTableWindow
- new JTableWindow();
- // закрываем окно JFrameLogin
- dispose();
- }
- });
- }
- }
- });
- // слушатель на кнопку btnCancel
- this.btnCancel.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- // закрываем окно JFrameLogin
- dispose();
- }
- });
- // слушатель на кнопку btnCreate
- this.btnCreate.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- // вызвывем CreateAccount
- new CreateAccount();
- // закрываем окно JFrameLogin
- dispose();
- }
- });
- }
- });
- }
- // устанавливаем иконку JFrameLogin
- public void iconLogin(){
- /* Toolkit kit =Toolkit.getDefaultToolkit();
- Image img = kit.getImage("src\\images\\key32.png");
- setIconImage(img);*/
- setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
- }
- // проверка заполнено ли LoginTextField JPasswordField
- public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
- boolean flag = true;
- if ( (String.valueOf(loginField.getText()).isEmpty()) && (String.valueOf(passwordField.getText()).isEmpty()) ){
- message.showMsDialogNoLoginPass(event, bntOk);
- flag = false;
- }
- else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
- message.showMsDialogNoLogin(event, bntOk);
- flag = false;
- }
- else if ( String.valueOf(passwordField.getText()).isEmpty() ){
- message.showMsDialogNoPass(event, bntOk);
- flag = false;
- }
- else if ( comparisonIdLoginFieldAndIdPassField() ){
- message.showMsDialogIncorrectLoginPass(event, bntOk);
- flag = false;
- }
- return flag;
- }
- // проверка значений по ID, JTextField Login и JPasswordField password со значениями в базе данных
- public boolean comparisonIdLoginFieldAndIdPassField(){
- JButton button = new JButton();
- boolean flag = false;
- int loginId = 0;
- int passId = 0;
- // id логина в БД
- loginId = queryInDatabase.searchIdInTable("login1", "NAME", String.valueOf(loginField.getText()),
- con, stmt, rs, url, user, password);
- // id пароля в БД
- passId = queryInDatabase.searchIdInTable("pass", "PASSWORDS",
- String.valueOf( new String(passwordField.getPassword()) ),con, stmt, rs, url, user, password);
- // вызываем исключения если true
- if ( (loginId == 0) && (passId == 0) ) {
- flag = true;
- }
- else if ( loginId == 0 || passId == 0 ){
- flag = true;
- }
- else if (loginId != passId){
- flag = true;
- }
- // message.showMsDialogTEST(button, loginId, passId);
- return flag;
- }
- }
- import javax.swing.*;
- import javax.swing.event.TableModelEvent;
- import javax.swing.table.DefaultTableModel;
- 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 extends JFrame{
- 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<>();
- //Создадим список из сущностей класса ValueInTable
- ArrayList valueInTables = new ArrayList();
- UpdateStringInTable updateStringInTable = new UpdateStringInTable();
- SizeButtons sizeButtons = new SizeButtons();
- //JButton Update слушатель
- ButtonUpdateActListn buttonUpdateActListn = new ButtonUpdateActListn();
- // класс по созданию значенией в Mysql
- AddValsInMysql addValsInMysql = new AddValsInMysql();
- // класс с методом getAllRowsMysql() для получения значения всех строк
- GetCountToAllRowsInMysql getCountToAllRowsInMysql = new GetCountToAllRowsInMysql();
- // класс с методом removeRowById() // удаляем строку по id
- RemoveRowInMysql removeRowInMysql = new RemoveRowInMysql();
- // класс с методом showMsDialog() диологовых окон Message
- Message message = new Message();
- // класс с методом setIdAutoIncrement() перемещает AUTO_INCREMENT на последний элемент ID после удаления
- RefreshAutoIncrementForID refreshAutoIncrementForID = new RefreshAutoIncrementForID(con, stmt, rs, url, user, password);
- JButton btnUpdate = new JButton("Update");
- JButton btnAdd = new JButton("Add");
- JButton btnRemove = new JButton("Remove");
- JButton btnRefresh = new JButton("Refresh");
- JLabel labelID = new JLabel("ID:");
- // размер поля field 5
- JTextField field1 = new JTextField(5);
- JTextField field2 = new JTextField(5);
- JTextField field3 = new JTextField(5);
- JTextField field4 = new JTextField(5);
- JTextField field5 = new JTextField(5);
- JTextField fieldID = new JTextField(2);
- //Объект таблицы
- JTable jTable;
- JTableWindow() {
- //Создаем новый контейнер JFrame
- JFrame jFrame = new JFrame("Mysql V2.0");
- //размер JButton задает метод sizeBtn() в класе SizeButtons
- sizeButtons.sizeBtn(btnUpdate, btnAdd, btnRemove, btnRefresh);
- //Устанавливаем диспетчер компоновки
- jFrame.getContentPane().setLayout(new FlowLayout());
- //Устанавливаем размер окна
- jFrame.setSize(580, 470);
- //Устанавливаем завершение программы при закрытии окна
- jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // Задаем иконку JTableWindow
- iconJTableWindow(jFrame);
- jFrame.add(field1);
- jFrame.add(field2);
- jFrame.add(field3);
- jFrame.add(field4);
- jFrame.add(field5);
- jFrame.add(labelID);
- //вводим запрос ID в mysql
- addIdInTable();
- // получаем данные с конструктора ValueInTables
- getArrayListVal(valueInTables);
- //Создадим модель таблицы
- MyTableModel tModel = new MyTableModel(valueInTables);
- //вызов метода слушутеля кнопки JButtonUpdate
- buttonUpdateActListn.btnUpActListen(btnUpdate, valueInTables, field1,field2,
- field3,field4,field5,fieldID, updateStringInTable, url, user, password, con, stmt, rs, tModel);
- // данные обновляются в таблице слушатель на кнопку
- btnRefresh.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- // обнуляем ArrayList
- valueInTables.clear();
- // обуляем вектор
- vector.clear();
- // заполняем Vector данными с mysql
- addIdInTable();
- getArrayListVal(valueInTables);
- //вызываем метод для вывода сообщения после нажатия кнопки
- message.showMsDialogBtnRefresh(ae, btnRefresh);
- tModel.fireTableDataChanged();
- }
- });
- // вызов метода createValsInMysql(), данные добавляются в таблицу Mysql. Слушатель на кнопку
- btnAdd.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- // создание записей в Mysql
- addValsInMysql.createValsInMysql(field1, field2, field3, field4, field5,
- con, stmt, rs, url, user, password);
- // вывод сообщения после нажатия кнопки о добавлении строки с ID
- message.showMsDialogBtnAdd(ae, btnAdd);
- tModel.fireTableDataChanged();
- }
- });
- // слушатель на кнопку Remove
- btnRemove.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- // удаление строк в Mysql по id
- removeRowInMysql.removeRowById(con, stmt, rs, url, user, password,
- Integer.valueOf(String.valueOf(fieldID.getText())));
- // выводим сообщение после удаления
- message.showMsDialogBtnRemove(ae, btnRemove, Integer.valueOf(String.valueOf(fieldID.getText())) );
- // перемещаем auto_increment ID на последний елемент ID
- refreshAutoIncrementForID.setIdAutoIncrement();
- tModel.fireTableDataChanged();
- }
- });
- //На основе модели, создадим новую JTable
- jTable = new JTable(tModel);
- //Создаем панель прокрутки и включаем в ее состав нашу таблицу
- JScrollPane jscrlp = new JScrollPane(jTable);
- //Устаналиваем размеры прокручиваемой области
- jTable.setPreferredScrollableViewportSize(new Dimension(550, 200));
- //Добавляем в контейнер нашу панель прокрути и таблицу вместе с ней
- jFrame.getContentPane().add(jscrlp);
- // добавляем кнопку на JFrame
- jFrame.getContentPane().add( labelID );
- jFrame.getContentPane().add( fieldID );
- jFrame.getContentPane().add( btnUpdate );
- jFrame.getContentPane().add( btnRefresh );
- jFrame.getContentPane().add( btnAdd );
- jFrame.getContentPane().add( btnRemove );
- // отображение фрейма по центру
- jFrame.setLocationRelativeTo(null);
- //Отображаем контейнер
- jFrame.setVisible(true);
- }
- //в Vector-лист добавляются значения каждая новая строка по номеру id
- public void conToMysql(int id){
- String query = "SELECT * FROM tbl1 where id=" + "'" + id + "'";
- 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 allCol = rs.getMetaData().getColumnCount();
- /*Вывод всей строки таблици из БД в Vector*/
- while (rs.next()) {
- for (int i = 1; i <= allCol; 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 */ }
- }
- }
- // метод с соединением и обновлением таблицы
- void addIdInTable(){
- for (int id = 1; id <= getCountToAllRowsInMysql.getAllRowsMysql(con, stmt, rs, url, user, password); id++)
- conToMysql(id);
- }
- // получение ячеек таблицы с конструктора ValueInTable()
- void getArrayListVal(ArrayList valueInTables){
- int getAllRows = getCountToAllRowsInMysql.getAllRowsMysql(con,stmt,rs,url,user,password);
- // получаем значения с Vector-а и выводим их в JTAble
- for (int val0 = 0, val1 = 1, val2 = 2, val3 = 3, val4 = 4, val5 = 5; val5 < 6 * getAllRows; val0 +=6, val1 +=6, val2 +=6, val3 +=6, val4 +=6, val5 +=6 ) {
- valueInTables.add( new ValueInTable(vector.get(val0), vector.get(val1), vector.get(val2),
- vector.get(val3), vector.get(val4), vector.get(val5) ));
- }
- }
- public static void main(String[] args) {
- //Создаем фрейм в потоке обработки событий
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- // new JTableWindow();
- new JFrameLogin();
- // new CreateAccount();
- }
- });
- }
- // устанавливаем иконку JFrameLogin
- public void iconJTableWindow(JFrame jFrame){
- jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\databaseTable.png"));
- // Toolkit kit = Toolkit.getDefaultToolkit();
- // Image img = kit.getImage("src\\images\\databaseTable.png");
- // setIconImage(img);
- }
- }
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- /**
- * Created by Admin on 25.11.2016.
- */
- public class Message {
- public void showMsDialogBtnRefresh(ActionEvent event, JButton btnRefresh) {
- if (event.getSource() == btnRefresh) {
- JOptionPane.showMessageDialog(btnRefresh, "Таблица обновлена",
- "Message Information", JOptionPane.INFORMATION_MESSAGE);
- }
- }
- public void showMsDialogBtnUpdate(ActionEvent event, JButton btnUpdate, int id) {
- if (event.getSource() == btnUpdate){
- JOptionPane.showMessageDialog(btnUpdate, "Поле ID "+ id +" обновлено",
- "Message Information" , JOptionPane.INFORMATION_MESSAGE);
- }
- }
- public void showMsDialogBtnAdd(ActionEvent event, JButton btnAdd) {
- if (event.getSource() == btnAdd){
- JOptionPane.showMessageDialog(btnAdd, "Строка добавлена",
- "Message Information", JOptionPane.INFORMATION_MESSAGE);
- }
- }
- public void showMsDialogBtnRemove(ActionEvent event, JButton btnRemove, int id) {
- if (event.getSource() == btnRemove){
- JOptionPane.showMessageDialog(btnRemove, "Поле ID "+ id +" удалено",
- "Message Information", JOptionPane.INFORMATION_MESSAGE);
- }
- }
- // сообщение об удачном добавлении Логина и Пароля в БД
- public void showMsDialogLoginAndPassAddInBD(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Учетная запись создана",
- "Information message", JOptionPane.INFORMATION_MESSAGE);
- }
- }
- // для вывода предупреждения в Login или Create JFrame
- public void showMsDialogNoLogin(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Введите логин!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // для вывода предупреждения в Login или Create JFrame
- public void showMsDialogNoPass(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Введите пароль!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // для вывода предупреждения в Login или Create JFrame
- public void showMsDialogNoLoginPass(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Введите логин и пароль!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // для вывода предупреждения в login JFrame
- public void showMsDialogIncorrectLoginPass(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Не верный логин или пароль!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // проверяется совподает ли длина паролей pass1 и pass2 в class CreateAccount
- public void showMsDialogPass1Pass2NotEquels(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Пароли не совпадают!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // выводится сообщение о том что логин в БД уже создан
- public void showMsDialogLoginAlreadyInDB(ActionEvent event, JButton btn){
- if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, "Такой логин уже существует!",
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- }
- }
- // для вывода Тестового сообщения
- public void showMsDialogTEST(JButton btn, int loginID, int pass){
- // if (event.getSource() == btn){
- JOptionPane.showMessageDialog(btn, String.valueOf(loginID) + " " +pass,
- "Warning Message", JOptionPane.WARNING_MESSAGE);
- // }
- }
- }
- import javax.swing.table.AbstractTableModel;
- import java.util.ArrayList;
- /**
- * Created by Admin on 18.11.2016.
- */
- public class MyTableModel extends AbstractTableModel{
- ArrayList<ValueInTable> valueInTable;
- MyTableModel(ArrayList<ValueInTable> valueInTable){
- super();
- this.valueInTable = valueInTable;
- }
- @Override
- public int getRowCount() {
- return valueInTable.size();
- }
- // к-тво столбцов
- @Override
- public int getColumnCount() {
- return 6;
- }
- //данные в ячейке
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- if (columnIndex == 0)
- return valueInTable.get(rowIndex).getId();
- else if (columnIndex == 1)
- return valueInTable.get(rowIndex).getCode();
- else if (columnIndex == 2)
- return valueInTable.get(rowIndex).getType();
- else if (columnIndex == 3)
- return valueInTable.get(rowIndex).getQuantity();
- else if (columnIndex == 4)
- return valueInTable.get(rowIndex).getPrice();
- else if (columnIndex == 5)
- return valueInTable.get(rowIndex).getYear();
- else
- return "Other_Column";
- }
- public String getColumnName(int c){
- if (c == 0)
- return "id";
- else if (c == 1)
- return "Code ";
- else if (c == 2)
- return "Type ";
- else if (c == 3)
- return "Quantity ";
- else if (c == 4)
- return "Price ";
- else if (c == 5)
- return "Year ";
- else
- return "------";
- }
- }
- import java.sql.*;
- /**
- * Created by Admin on 28.11.2016.
- */
- public class QueryInDatabase {
- boolean flag = false;
- // поиск Id в таблице БД по имени таблици, имени колонки этой таблици и имени значения в таблице
- // ПЕРЕВЕДЕННОЕ В БИНАРНЫЙ ВИД
- public int searchIdInTable(String nameTable, String nameColumn, String nameValTable,
- Connection con, Statement stmt, ResultSet rs,
- String url, String user, String password){
- int ID = 0;
- String query = "SELECT id FROM " + nameTable + " where " + "BINARY " + nameColumn+ "=" + "'" + nameValTable + "'";
- 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 allCol = rs.getMetaData().getColumnCount();
- /*Вывод номер ID*/
- while (rs.next()) {
- ID = rs.getInt(1);
- }
- } 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 */ }
- }
- return ID;
- }
- // добавляем запись в БД логины пароли
- public void addValuesInBD(String nameTable, String nameColumn, String nameValTable,
- Connection con, Statement stmt,
- String url, String user, String password){
- // поля для обновления значенией в Mysql
- String query = "insert into "+ nameTable +" ("+nameColumn+") " + "values" + " ('"+nameValTable+"')";
- 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(query);
- } 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 */ }
- }
- }
- }
- import java.sql.*;
- /**
- * Created by Admin on 25.11.2016.
- */
- public class RefreshAutoIncrementForID {
- Connection con;
- Statement stmt;
- ResultSet rs;
- String url = "", user = "", password = "";
- RefreshAutoIncrementForID(Connection con, Statement stmt, ResultSet rs, String url, String user, String password){
- this.con = con;
- this.stmt = stmt;
- this.rs = rs;
- this.url = url;
- this.user = user;
- this.password = password;
- }
- int maxCountID = 0;
- //узнаем к-тво элементов в столбце ID
- public int takeLengthFromId(){
- String query = "SELECT max(id) 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);
- /*Вывод всей строки таблици из БД в Vector*/
- while (rs.next()) {
- maxCountID = rs.getInt(1);
- }
- } 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 */ }
- }
- return maxCountID;
- }
- // задаем AUTO_INCREMENT-у индекс ID с которого нужно начать добавлять id
- public void setIdAutoIncrement(){
- String query = "alter table tbl1 auto_increment=" + ( (int)(takeLengthFromId() + 1));
- 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(query);
- } 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 */ }
- }
- }
- }
- import javax.swing.*;
- import java.sql.*;
- /**
- * Created by Admin on 24.11.2016.
- */
- public class RemoveRowInMysql {
- void removeRowById(Connection con, Statement stmt, ResultSet rs, String url, String user,
- String password, int id){
- // поля для удаления строки в Mysql по Id
- String queryR = "DELETE FROM tbl1 WHERE ID=" + "'" + id + "'";
- 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(queryR);
- } 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 */ }
- }
- }
- }
- import javax.swing.*;
- import java.awt.*;
- /**
- * Created by Admin on 24.11.2016.
- */
- public class SizeButtons {
- public void sizeBtn(JButton btnUpdate, JButton btnAdd, JButton btnRemove, JButton btnRefresh){
- //разммер кнопок
- btnUpdate.setPreferredSize(new Dimension(100, 20));
- btnAdd.setPreferredSize(new Dimension(100, 20));
- btnRemove.setPreferredSize(new Dimension(100, 20));
- btnRefresh.setPreferredSize(new Dimension(100, 20));
- }
- // метод для кнопок Login панели
- public void setSizeBtnLogin(JButton btnOk, JButton btnCancel, JButton btnCreate){
- btnOk.setPreferredSize(new Dimension(60, 20));
- btnCancel.setPreferredSize(new Dimension(83, 20));
- btnCreate.setPreferredSize(new Dimension(83, 20));
- }
- // метод для кнопок CreateAccont панели
- public void setSizeBtnCreateAccount(JButton btnOk, JButton btnCancel){
- btnOk.setPreferredSize(new Dimension(83, 20));
- btnCancel.setPreferredSize(new Dimension(83, 20));
- }
- }
- import javax.swing.*;
- import java.sql.*;
- /**
- * Created by Admin on 21.11.2016.
- */
- public class UpdateStringInTable {
- public void updateValues(String url, String user, String password, JTextField field1, JTextField field2,
- JTextField field3,JTextField field4,JTextField field5,
- Connection con, Statement stmt, ResultSet rs, int fieldId ){
- // поля для обновления значенией в Mysql
- String query1 = "update tbl1 set CODE=" + "'"+ field1.getText() +"'" + "where id="+"'"+ fieldId +"'";
- String query2 = "update tbl1 set TYPE=" + "'"+ field2.getText() +"'" + "where id="+"'"+ fieldId +"'";
- String query3 = "update tbl1 set QUANTITY=" + "'"+ field3.getText() +"'" + "where id="+"'"+ fieldId +"'";
- String query4 = "update tbl1 set PRICE=" + "'"+ field4.getText() +"'" + "where id="+"'"+ fieldId +"'";
- String query5 = "update tbl1 set YEAR=" + "'"+ field5.getText() +"'" + "where id="+"'"+ fieldId +"'";
- 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 */ }
- }
- }
- }
- import java.util.ArrayList;
- /**
- * Created by Admin on 18.11.2016.
- */
- public class ValueInTable {
- Object id;
- Object code;
- Object type;
- Object quantity;
- Object price;
- Object year;
- public ValueInTable(Object id, Object code, Object type, Object quantity, Object price, Object year){
- this.id = id;
- this.code = code;
- this.type = type;
- this.quantity = quantity;
- this.price = price;
- this.year = 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 getId() { return id; }
- 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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement