Считать из БД и вывести при checkBox event - Java (241691)

Узнай цену своей работы

Формулировка задачи:

Добрый день! простите, что беспокою! нужно вывести сообщение в лейбл из БД, если стоит галочка на чекбоксе. Пока не знаю выведет ли значение null, по-этому сделал с перебором строк(когда нет галочки 1, когда есть-2). окошко не работает, хэлп ми плз, ошибок не выдает. Вот мой код:
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import javax.swing.*;
 
public class DiplomaTry extends JFrame{
    private String url="jdbc:oracle:thin:@tlayshev:1521:TEST",
            login="tester",
            password="qwe123",
            query="SELECT B FROM DIPLOMA WHERE id > ?";
    JCheckBox checkBox = new JCheckBox();
    List<String> querylist = new ArrayList<String>();
     Connection con;
     
     public void init(){
            try {
                DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
                }
                
             catch (Exception e) {
                e.printStackTrace();
                
            }
 
        }
     public List<String> adr(){
            
            ResultSet rs = null;
            
            try{
            if(con==null){
                con= DriverManager.getConnection(url, login, password);
            }
            PreparedStatement pstmt = con.prepareStatement(query);
            pstmt.setInt(1, 5);
            rs = pstmt.executeQuery();
            while (rs.next()) {
                querylist.add(rs.getString(1));
            }
            }
             catch (SQLException e) {
                    e.printStackTrace();
                }
            return querylist;
        }
     ActionListener actionListener = new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
                init();
                List<String> querylist2=(List<String>) adr();
            AbstractButton abstractButton = (AbstractButton)actionEvent.getSource();
            boolean selected = abstractButton.getModel().isSelected();
            String newLabel = (selected ? querylist2.get(2) : querylist2.get(3));
            abstractButton.setText(newLabel);
          }
        };
     DiplomaTry(String s){
            super(s);
            try {
                con = DriverManager.getConnection(url, login, password);
            } catch (SQLException e) {
                
                e.printStackTrace();
            }
            setLayout(null);
            Font f= new Font("Serif", Font.BOLD, 15);
            setFont(f);
            checkBox.addActionListener(actionListener);
            checkBox.setMnemonic(KeyEvent.VK_S);
            Container contentPane = getContentPane();
            contentPane.add(checkBox, BorderLayout.NORTH);
            setSize(400, 400);
            setVisible(true);
            
            }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Selecting CheckBox");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
 
}

Решение задачи: «Считать из БД и вывести при checkBox event»

textual
Листинг программы
INSERT INTO DIPLOMA (A, B)
VALUES ('20', 'SOME TET10');

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы