Я разрабатываю настольное приложение, в котором я хочу, чтобы у администратора была возможность удалить пользователей, для которых я планировал, что всякий раз, когда Администратор нажимает кнопку «удалить пользователей», откроется новая вкладка, в которой установлены флажки с должно появиться имя всех существующих пользователей в моей базе данных (чтобы он мог одновременно удалять несколько пользователей); поэтому в основном мне нужно создавать динамические флажки в соответствии с моей базой данных.Динамически генерирует флажки, Netbeans
Я использую Netbeans 7.0.1, jdk 1.6, sqlite3.
После поиска на Google я получил две ссылки, совпадающие с моей проблемой: http://www.coderanch.com/t/345949/GUI/java/create-dynamic-checkboxes#2805277
Creating dcheckbox dynamically in Java-NetBeans
Я пытался следовать код из выше первого звена, но это не работает для меня правильно. То, что я действительно только что создан новый JFrame в NetBeans и называется метод внутри конструктора, которые создают флажков согласно необходимости, код метода является, как показано ниже:
public class Work extends javax.swing.JFrame {
/** Creates new form Work */
public Work() {
initComponents();
checks = new java.util.ArrayList<>();
createCheckboxes();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void createCheckboxes(){
panel = new javax.swing.JPanel();
this.add(panel);
for(int i = 0; i<4; i++){
javax.swing.JCheckBox box = new javax.swing.JCheckBox("check"+i);
panel.add(box);
checks.add(box);
panel.revalidate();
panel.repaint();
}
panel.setVisible(true);
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Work.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Work.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Work.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Work.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Work().setVisible(true);
}
});
}
// Variables declaration - do not modify
// End of variables declaration
private java.util.ArrayList <javax.swing.JCheckBox> checks;
private javax.swing.JPanel panel;
}
Выход только пустой кадр. Пожалуйста, помогите мне узнать, где я ошибаюсь!
И да, этот код еще не подключен к базе данных, как только он будет работать, я могу изменить его для работы с базой данных.
также их любой другой betterway выполнить свою задачу или я на правильном пути `
Спасибо, есть способ динамически добавлять флажки в Jframe, см. ниже. – Shaifali
Я получил это решение после многого поиска, но, по крайней мере, получил его :) – Shaifali
@ user1932362 Да, вы можете динамически добавлять флажки в JFrame, приведенный выше код показывает, но вы должны изменить макет, как я сказал из GroupLayout, что-то еще, если вы хотите использовать простой add (Component). – Jirka