Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import java.util.ArrayList;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JList;
- import javax.swing.JOptionPane;
- import javax.swing.JTextField;
- import javax.swing.JTextArea;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JLabel;
- import java.sql.*;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import javax.swing.event.ListSelectionListener;
- import javax.swing.event.ListSelectionEvent;
- public class Main extends JFrame {
- private JPanel contentPane;
- private JTextField fromTextField;
- private JTextField toTextField;
- JList list;
- JTextArea textArea;
- ArrayList<String> text = new ArrayList<>();
- ArrayList<String> from = new ArrayList<>();
- ArrayList<String> to = new ArrayList<>();
- Connection con;
- String name;
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- String login = JOptionPane.showInputDialog("Введите логин:");
- Main frame = new Main(login);
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- void load_data() {
- try {
- Statement stm = con.createStatement();
- ResultSet res = stm.executeQuery(
- "select * from message where `to` = '" + name + "'");
- text.clear();
- from.clear();
- to.clear();
- while (res.next()) {
- text.add(res.getString("text"));
- from.add(res.getString("from"));
- to.add(res.getString("to"));
- }
- DefaultListModel<String> model = new DefaultListModel<>();
- for (int i = 0; i < text.size(); ++i) {
- model.addElement(from.get(i));
- }
- list.setModel(model);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public Main(String login) {
- name = login;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection(
- "jdbc:mysql://ryadom.me/chat", "root", "root");
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- JOptionPane.showMessageDialog(null, "Нет подключения");
- System.exit(0);
- }
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 754, 429);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
- list = new JList();
- list.addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent arg0) {
- int n = list.getSelectedIndex();
- fromTextField.setText(from.get(n));
- toTextField.setText(to.get(n));
- textArea.setText(text.get(n));
- fromTextField.setEditable(false);
- toTextField.setEditable(false);
- textArea.setEditable(false);
- }
- });
- list.setBounds(10, 11, 162, 334);
- contentPane.add(list);
- fromTextField = new JTextField();
- fromTextField.setEditable(false);
- fromTextField.setBounds(249, 11, 465, 20);
- contentPane.add(fromTextField);
- fromTextField.setColumns(10);
- toTextField = new JTextField();
- toTextField.setEditable(false);
- toTextField.setBounds(249, 42, 465, 20);
- contentPane.add(toTextField);
- toTextField.setColumns(10);
- textArea = new JTextArea();
- textArea.setEditable(false);
- textArea.setBounds(182, 73, 532, 272);
- contentPane.add(textArea);
- JButton checkButton = new JButton("\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C");
- checkButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- load_data();
- }
- });
- checkButton.setBounds(10, 356, 162, 23);
- contentPane.add(checkButton);
- JButton createButton = new JButton("\u041D\u043E\u0432\u043E\u0435 \u043F\u0438\u0441\u044C\u043C\u043E");
- createButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- fromTextField.setText(name);
- toTextField.setText("");
- textArea.setText("");
- toTextField.setEditable(true);
- textArea.setEditable(true);
- }
- });
- createButton.setBounds(182, 356, 248, 23);
- contentPane.add(createButton);
- JButton sendButton = new JButton("\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C");
- sendButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- try {
- PreparedStatement stm = con.prepareStatement("INSERT INTO message (`from`, `to`, `text`) VALUES(?, ?, ?)");
- stm.setString(1, fromTextField.getText());
- stm.setString(2, toTextField.getText());
- stm.setString(3, textArea.getText());
- stm.execute();
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- JOptionPane.showMessageDialog(null, "Отправлено!");
- toTextField.setEditable(false);
- textArea.setEditable(false);
- }
- });
- sendButton.setBounds(466, 356, 248, 23);
- contentPane.add(sendButton);
- JLabel lblNewLabel = new JLabel("\u041E\u0442:");
- lblNewLabel.setBounds(213, 12, 46, 14);
- contentPane.add(lblNewLabel);
- JLabel lblNewLabel_1 = new JLabel("\u041A\u043E\u043C\u0443:");
- lblNewLabel_1.setBounds(213, 45, 46, 14);
- contentPane.add(lblNewLabel_1);
- load_data();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement