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

Вывести БД в таблицу. Swing

30.10.2013, 16:47. Показов 10637. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Возникла проблема, есть база данных на MySQL. Нужно сформировать таблицу, и вывести, с использованием swing. Написал курсовую до этой части, и ступор. Подскажите, как реализовать, что использовать.
Заранее благодарю.
P.S. В Java новичок, много ещё не понимаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2013, 16:47
Ответы с готовыми решениями:

Swing. Вывод данных в таблицу
Добрый день! возникла проблемка. есть база данных на mysql. данные надо вывести в таблицу. основная программа написана на Java при...

Swing, jdbc, не могу заполнить таблицу
Здравствуйте. Я заполняю таблицу базы данных: Statement st = c.createStatement(); st.executeUpdate("insert into...

Java Swing + MySQL. Запись данных в таблицу
В общем, рисую коротко ситуацию. Имею БД созданную на wamp сервере. Нужно настроить вывод данных из таблицы БД MySQL в таблицу Java Swing...

10
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.10.2013, 16:55
База - JDBC
Swing - JTable+TableModel+JScrollPane
1
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 23
30.10.2013, 17:15  [ТС]
А можно поподробней? пробовал через JFrame - дохлый номер.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.10.2013, 17:37
А я могу попробовать через JFrame - и у меня всё получится.

Вы что конкретно делали? Где код?
1
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 23
30.10.2013, 17:44  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
А я могу попробовать через JFrame - и у меня всё получится.

Вы что конкретно делали? Где код?
Там вывод работает. Немогу кнопки добавить. Вот линк на тему. https://www.cyberforum.ru/java... ost5260770
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.10.2013, 18:01
Цитата Сообщение от CPlusPlusBest Посмотреть сообщение
Там вывод работает. Немогу кнопки добавить. Вот линк на тему. https://www.cyberforum.ru/java... ost5260770
И??? В этой теме приведен код, с которым проблемы? Или Вы хотите, чтобы Вам без кода сказали, что и куда дописать? Могу сразу сказать - без кода это нереально.
1
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 23
30.10.2013, 18:09  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
И??? В этой теме приведен код, с которым проблемы? Или Вы хотите, чтобы Вам без кода сказали, что и куда дописать? Могу сразу сказать - без кода это нереально.
Да, да. К нему надо добавить пару кнопок(JButton).

Добавлено через 51 секунду
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import java.awt.FlowLayout;
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.sql.Types;
import java.util.Properties;
import java.util.Vector;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
 
class MainForm extends JFrame implements ActionListener {
 
    public MainForm(int uu) {
 
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
 
        DefaultTableModel dtm = null;
 
 
        try {
 
 
            Properties connInfo = new Properties();
 
            connInfo.put("characterEncoding", "UTF8");
            connInfo.put("user", "root");
            connInfo.put("password", "1234");
 
            conn = DriverManager.getConnection("jdbc:mysql://localhost/test", connInfo);
            pstmt = conn.prepareStatement("select * from mainbase");
            dtm = new DefaultTableModel();
 
            if (pstmt.execute()) {
                rs = pstmt.getResultSet();
 
                ResultSetMetaData rsmd = rs.getMetaData();
 
                for (int col = 1; col <= rsmd.getColumnCount() - 1; col++) {
                    dtm.addColumn(rsmd.getColumnName(col));
                }
 
                while (rs.next()) {
 
                    Vector<String> row = new Vector<String>();
                    for (int col = 1; col <= rsmd.getColumnCount() - 1; col++) {
 
                        int type = rsmd.getColumnType(col);
 
                        switch (type) {
 
                            case Types.INTEGER:
                                row.add(new Integer(rs.getInt(col)).toString());
                                break;
 
                            case Types.VARCHAR:
                                row.add(rs.getString(col));
                                break;
 
                            case Types.TINYINT:
                                row.add(rs.getInt(col), null);
                                break;
                        }
                    }
                    dtm.addRow(row);
                }
            }
        } catch (SQLException ex) {
            System.out.println(ex.toString());
 
 
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
 
            try {
 
                if (pstmt != null) {
                    pstmt.close();
                }
 
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
 
        }
 
        JFrame jf = new JFrame("Table");
        JTable grid = new JTable();
 
        grid.setModel(dtm);
 
        JScrollPane jsp = new JScrollPane(grid);
 
 
        jf.setSize(640, 480);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        jf.add(jsp);
        jf.setVisible(true);
    }
 
    @Override
    public void actionPerformed(ActionEvent arg0) {
    }
}
Добавлено через 39 секунд
Вот код, сразу забыл добавить сори.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.10.2013, 18:17
И какие кнопки сюда надо добавить? Как они должны быть расположены?
0
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 23
30.10.2013, 18:23  [ТС]
Под таблицей кнопка "Block", обработчик создайте(слушатель или как они у вас называются), его код я уже сам напишу.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.10.2013, 18:30
А можно поинтересоваться - если класс УЖЕ унаследован от JFrame, зачем внутри создавать еще один и всё добавлять в него?

В общем, так. После jf.add(jsp) дописываете:

Java
1
2
3
4
5
6
7
8
9
JPanel btnPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton btn = new JButton("Block");
btnPanel.add(btn);
btn.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        // вот тут пишите Ваш код обработки нажатия
    }
});
jf.add(btnPanel, BorderLayout.SOUTH);
1
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 23
30.10.2013, 18:35  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
А можно поинтересоваться - если класс УЖЕ унаследован от JFrame, зачем внутри создавать еще один и всё добавлять в него?

В общем, так. После jf.add(jsp) дописываете:

Java
1
2
3
4
5
6
7
8
9
JPanel btnPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton btn = new JButton("Block");
btnPanel.add(btn);
btn.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        // вот тут пишите Ваш код обработки нажатия
    }
});
jf.add(btnPanel, BorderLayout.SOUTH);
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2013, 18:35
Помогаю со студенческими работами здесь

Создание обработчика нажатия на кнопку для добавления строки в таблицу (Swing)
Подскажите пожалуйста , как прикрепить слушателся к кнопке, чтоб при нажатии на нее она добавляла новую строчку в таблице? iimport...

Jawa.swing.InputVerifier - Поставить ограничение на ввод данных при добавлении в таблицу
Помогите пожалуйста, в Swing не очень шарю и никак не могу разобраться с java.swing.InputVerifier. Сама программа почти готова, но мне...

Как вывести результат в swing jTable?
Как вывести результат JDBC запроса в swing jTable?

Вывести содержимое doc/docx файла в swing
Подключил библиотеку Apache POI, вывел текст, но не ясно как вывести все содержимое ворд файла в какой нибудь Swing элемент(как оно там и...

Как в Java Swing JPanel вывести полупрозрачную картинку?
Уже около месяца ищу ответ, но ответ выдавал тысячи ошибок, (как на этом...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru