Создаём Основное окно (JFrame - WindowBuilder-->JFrame):
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*; // нужны ListSelectionListener и ListSelectionEvent
import java.awt.event.*; // MouseAdapter и LMouseEvent
public class winprog extends JFrame {
private panel contentPane;
private JTextField textField;
DefaultListModel model = new DefaultListModel(); // создаём модель данных для списка list
JList list = new JList(model); // вставляем модель в список
/*** Launch the application. */
public static void main(String[] args) {
...
}
/*** Create the frame. */
public winprog() {
setTitle("Program Title");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new panel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblLink = new JLabel("https://store.steampowered.com/");
lblLink.addMouseListener(new MouseAdapter() {@Override
public void mouseClicked(MouseEvent e) {
try {
ProcessBuilder proc = new ProcessBuilder( // Запуск Браузера
//"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
lblLink.getText());
proc.start();
} catch (Exception ex) {}
}
});
contentPane.add(lblLink);
JButton btnLoad = new JButton("Load...");
btnLoad.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Connection connect;
try {
String driverName = "com.mysql.cj.jdbc.Driver";
Class.forName(driverName);
...
String query = "SELECT text FROM tabl"; //Строка SQL-запроса
Statement stmt = connect.createStatement(); //Создание запроса
ResultSet rs = stmt.executeQuery(query); // Выполнение запроса с получением результата
String dtext;
while (rs.next()) {
dtext = rs.getString("text");
model.addElement(dtext);
}
connect.close();
} catch(Exception ex) {
System.out.println(ex);
}
}
});
contentPane.add(btnLoad);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
Object element = list.getSelectedValue();
textField.setText(element.toString());
//System.out.println(">>" + element.toString());
}
});
contentPane.add(list);
}
}
Количество строк в базе данных по SQL-запросу:
Statement stmt = connect.createStatement(); //Создание запроса
// сначала определим количество строк с типом "завтрак"
String query = "SELECT COUNT(*) AS total FROM tabl WHERE (type=\"завтрак\")"; // SQL-запрос получения количества строк удовлетворяющих фильтру WHERE
ResultSet rs = stmt.executeQuery(query); // Выполнение запроса с получением результата
int count = 0;
while(rs.next()) {
count = rs.getInt("total");
}
int rez = (int)(Math.random() * count)+1; // получить случайное число в пределах count
// теперь создадим запрос на получение всех строк с типом "завтрак"
query = "SELECT * FROM tabl WHERE (type=\"завтрак\")";
rs = stmt.executeQuery(query); // Выполнение запроса с получением результата
int i = 0;
String temp;
while (rs.next()) {
temp = rs.getString("name");
i++;
if(i == rez) { досчитаем до случайного числа rez
textZavtrak.setText(temp);
System.out.println(temp);
}
}
При клике по элементу Jlist вывести текст из базы данных: