I wanted to make checkboxes and names added dynamically. The number of checkboxes is follow the number of row in MySQL and the name is retrieved from MySQL.
So far, the checkboxes can add dynamically but the problem is I have no idea on how to break the names so that each checkbox only have one name.
This is what I want to archive.
This is the output I get
Eerything start with staffManagement
adminAPI api= new adminAPI();
try {
num= api.displayCheckBoxAndLabel(); // there are 5 row
//allName= api.displayName();
//System.out.println(allName);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
deleteAdmin delete= new deleteAdmin(num);
delete.setVisible(true);
setVisible(false);
dispose();
adminAPI
public int displayCheckBoxAndLabel() throws Exception
{
int count = 0;
String sql="Select count(*) AS adminID from admin";
DatabaseConnection db = new DatabaseConnection();
Connection conn =db.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
count= rs.getInt("adminID");
}
ps.close();
rs.close();
conn.close();
return count ;
}
public List<String> displayName() throws Exception // get all the name
{
String sql = "Select name from admin";
List<String> names = new ArrayList<>();
DatabaseConnection db = new DatabaseConnection();
try (Connection conn = db.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
names.add(rs.getString("name"));
}
}
return names;
}
deleteAdmin
public deleteAdmin(int num)
{
super("Delete Admin");
setBounds(100, 200, 340, 229);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JPanel panel = new JPanel();
panel.setBounds(35, 19, 242, 146);
contentPane.add(panel);
panel.setLayout(null);
adminAPI admin = new adminAPI();
List<String>allName = null;
try {
allName= admin.displayName();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(allName); //[john,1,1,23,sd]
JCheckBox[] checkBoxList = new JCheckBox[num];
for(int i = 0; i < num; i++) {
checkBoxList[i] = new JCheckBox(""+allName);
contentPane.add(checkBoxList[i]);
}
}
How can I break the arrayList so each checkbox will only have one name? Thanks
Aucun commentaire:
Enregistrer un commentaire