множественная Jlabel с запросом JAVA

#java #sql #prepared-statement #jlabel #resultset

#java #sql #подготовленная инструкция #jlabel #результирующий набор

Вопрос:

Мой вывод

  1. 192.123.123

  2. 123.344.344

  3. 152.254.123

И мне нужно создать 3 Jlabel, вот мой код, но создать только 3 Jlabel с первым выводом, и мне нужны три

         String val= null;
        String sql = "";
        sql = "SELECT ipswitch,x,y FROM switch where Act='A'";

        try {
            com.mysql.jdbc.Statement sta = (com.mysql.jdbc.Statement) cn.createStatement();
            ResultSet r = sta.executeQuery(sql);
            int contador1=3;
            if (r.next() == true) {
                 for (int i = 0; i < contador1; i  ) {
                lipe = new javax.swing.JLabel();
                lipe.setText(r.getString(1));
                paneldesiwtch.add(lipe);
                lipe.setBounds(r.getInt(2), r.getInt(3), 100, 40);
                green.setLocation(r.getInt(2), r.getInt(3)   40);
                yellow.setLocation(r.getInt(2)   30, r.getInt(3)   40);
                red.setLocation(r.getInt(2)   60, r.getInt(3)   40);
                 }  
            } else {
                JOptionPane.showMessageDialog(null, "No Found");
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, e.toString());
        }
  

Ответ №1:

Вам нужно вызывать next метод каждый раз, когда вы проходите через цикл for, чтобы курсор перемещался к следующей строке результирующего набора, и таким образом вы получите новые строки. Теперь вы создаете все Jlabels с первым результатом результирующего набора.