Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 4

JAVA Swing JTable

08.03.2013, 11:28. Показов 2003. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем у меня заполняется JTable, с помощью вектора, и массива, при нажатии на checkbox обновляется база данных на определенной количество считываемое с JTextField_1, вопрос в обновлении самой таблицы, как обновить сразу же после того как отнимается число в базе данных?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 table = new JTable( new AbstractTableModel() { 
              
               public int getRowCount() { 
                   return data.size(); 
               }
               public int getColumnCount() { 
                   return columnNames.length; 
               } 
               public Object getValueAt(int rowIndex, int columnIndex) { 
                   return data.get(rowIndex).get(columnIndex); 
               } 
            
               public String getColumnName(int column) {
                   return columnNames[column];
               }  
 
               public Class<?> getColumnClass(int columnIndex) {                                                               
                   return new Class[]{Integer.class,String.class, String.class, Integer.class, String.class,String.class,String.class, Boolean.class}[columnIndex];               }  
 
             public boolean isCellEditable(int rowIndex, int columnIndex) {
                 if (columnIndex < 2) {
                     return false;
                 } else {
                     return true;
                 }
               }
                // самая главная часть поддержки редактора ячеек - 
                   // функция сохранения значения которое было введено в данную ячейку
                   public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
                       checkBox.setHorizontalAlignment(SwingConstants.CENTER);  
                        ((Vector) data.get(rowIndex)).set(columnIndex, aValue);
                    //    System.out.print(((Vector) data.get(rowIndex)));
                       if(aValue.equals(true)){
                           //ID продукта на продажу
                           columnIndex =0;
                           //записываем значение в стрин value
                           String value = (String) data.get(rowIndex).get(columnIndex);
                      System.out.print(value);
                      //название продукта что выбран на продажу
                           columnIndex = 1;
                           String value1 = (String) data.get(rowIndex).get(columnIndex);;
                         System.out.print(data.get(rowIndex).get(columnIndex)+"\n");
                        list.add((String) data.get(rowIndex).get(columnIndex));
                        try {
                            Class.forName(driver);
                            con = DriverManager.getConnection(url+db, user, pass);
                            java.sql.Statement st=con.createStatement();
                            // достаем значение количсетва продуктов
                           columnIndex = 3;
                           //выводим кол-во продуктов
                         System.out.print(data.get(rowIndex).get(columnIndex) + "\n");
                         //записываем в лист
                        list.add((String) data.get(rowIndex).get(columnIndex));
                      //quantity of sales                       
                     int t =  Integer.parseInt(textField_1.getText());
                        //значение переменной тоесть количество продуктов 
                        int index = Integer.parseInt((String) data.get(rowIndex).get(columnIndex));
                        //количество продуктов отнимаем количтво продуктов на покупку
                       int countP = index - t;
                       //выводим число продуктов что остались
                       System.out.print(countP);
                       //переводим в стринг чтобы записать в базу данных
                       String value2 = Integer.toString(countP);
                       columnIndex =5;
                       String value4 = (String) data.get(rowIndex).get(columnIndex);
                       //записываем новое значение в базу данных
                        st.executeUpdate("update product set countOFproduct ='"+value2+"' where idproduct='"+value+"'");
                        java.sql.ResultSet rs = st.executeQuery("select count(*) from sales");
                        rs.next();
                        int id = rs.getInt(1) + 1 ;
                        
                       st.executeUpdate("insert into sales(idsales, nameOFproduct,count,prices) values('" + id + "','"+ value1 +"','" + value2 + "','"+ value4 + "')");
 
                        con.close();
                        columnIndex =3;
                        int in = Integer.parseInt((String) data.get(rowIndex).get(columnIndex));
                         getData();
                        fireTableCellUpdated(in, columnIndex);
 
                        } catch (ClassNotFoundException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        } catch (SQLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                     
                          }
                       
                   }
                
 
           });
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2013, 11:28
Ответы с готовыми решениями:

Отображение JTAble на форме SWING
Здравствуйте. Делаю приложение Swing. Необходимо было сделать в таблице JTable колонку с кнопками. Нашел такой код class CellRender...

Swing.jTable считывание в массив
Работаю со Swing, по сути простая программка для подсчета по формуле, самый сложный компонент на форе -JTable с ним собственно и проблема....

Swing. Увеличение числа ячеек в JTable
Всем добрый день! Есть проблема, которая пока не решается. Программа должна увеличивать/уменьшать по кнопке &quot;+&quot; и &quot;-&quot;...

3
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
08.03.2013, 11:32
представьте код пожалуйста читаемым, обрамив в теги и расставив отступы
0
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 4
08.03.2013, 11:55  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
       table = new JTable( new AbstractTableModel() { 
              
               public int getRowCount() { 
                   return data.size(); 
               }
               public int getColumnCount() { 
                   return columnNames.length; 
               } 
               public Object getValueAt(int rowIndex, int columnIndex) { 
                   return data.get(rowIndex).get(columnIndex); 
               } 
            
               public String getColumnName(int column) {
                   return columnNames[column];
               }  
 
               public Class<?> getColumnClass(int columnIndex) {                                                               
                   return new Class[]{Integer.class,String.class, String.class, Integer.class, String.class,String.class,String.class, Boolean.class}[columnIndex];               }  
 
             public boolean isCellEditable(int rowIndex, int columnIndex) {
                 if (columnIndex < 2) {
                     return false;
                 } else {
                     return true;
                 }
               }
                   // функция сохранения значения которое было введено в данную ячейку
                   public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
                       checkBox.setHorizontalAlignment(SwingConstants.CENTER);  
                        ((Vector) data.get(rowIndex)).set(columnIndex, aValue);
                    //    System.out.print(((Vector) data.get(rowIndex)));
                       if(aValue.equals(true)){
                           columnIndex =0;
                           //ID продукта на продажу
                           String value = (String) data.get(rowIndex).get(columnIndex);
                           columnIndex = 1;
                      //название продукта что выбран на продажу
                           String value1 = (String) data.get(rowIndex).get(columnIndex);;
                        try {
                            Class.forName(driver);
                            con = DriverManager.getConnection(url+db, user, pass);
                            java.sql.Statement st=con.createStatement();
                            // значение количества продуктов
                           columnIndex = 3;
                           //выводим кол-во продуктов
                         System.out.print(data.get(rowIndex).get(columnIndex) + "\n");
                      //quantity of sales                       
                     int t =  Integer.parseInt(textField_1.getText());
                        //значение переменной то есть количество продуктов 
                        int index = Integer.parseInt((String) data.get(rowIndex).get(columnIndex));
                        //количество продуктов отнимаем количтво продуктов на покупку
                       int countP = index - t;
                       //выводим число продуктов что остались
                       System.out.print(countP);
 
                       String value2 = Integer.toString(countP);
                       //price of sales
                       columnIndex =5;
                       String value4 = (String) data.get(rowIndex).get(columnIndex);
                       //update in database 
                        st.executeUpdate("update product set countOFproduct ='"+value2+"' where idproduct='"+value+"'");
                        java.sql.ResultSet rs = st.executeQuery("select count(*) from sales");
                        rs.next();
                        int id = rs.getInt(1) + 1 ;
                        //save values in sales
                       st.executeUpdate("insert into sales(idsales, nameOFproduct,count,prices) values('" + id + "','"+ value1 +"','" + value2 + "','"+ value4 + "')");
 
                        con.close();
                        columnIndex =3;
                        int in = Integer.parseInt((String) data.get(rowIndex).get(columnIndex));
                         getData();
                        fireTableCellUpdated(in, columnIndex);
 
                        } catch (ClassNotFoundException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        } catch (SQLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                     
                          }
                       
                 
                 
                      }
 
           });
0
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 4
11.03.2013, 21:02  [ТС]
Всем спасибо! Проблема решена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2013, 21:02
Помогаю со студенческими работами здесь

Динамическое добавление колонок в JTable Swing
Всем привет) Использовал таблицы и раньше, но сейчас задача требует создания динамических колонок... Что я делаю: ...

JTable, swing, строки, таблицы, Добавление
Здравствуйте нужна помощь не пойму как сделать что бы данные введенные в jTextField записывались в таблицу. Например 3 столбца в таблице...

Java Swing
Здравствуйте. Как сделать так, чтобы при нажатии на кнопку в JFrame, в этом же окне появились совсем другие элементы, а старые пропали. Т.е...

JAVA SWING
Здравствуйте, как сделать, чтобы при щелчке появился новый шарик, но чтобы старый остался. Вот мой код, но у меня просто старый шарик...

Блокнот на Java (Swing)
Здравствуйте. Я новичок, изучаю Java. В ходе изучения библиотеки Swing я решил написать простой блокнот. Все просто: один класс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru