1
我想知道如何動態添加checkboxes
和名稱。在java中動態添加複選框
的checkboxes
數量是跟隨行的MySQL
數量和名稱從MySQL
檢索。假設我有三個數據在MySQL
,所以我會得到上面的圖像輸出。
這是我課程代碼
checkAPI api= new checkAPI();
try
{
num = api.displayCheckBoxAndLabel(); // get 3
List<String> allName= api.displayName(); // [John,Tony,Kik]
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
deleteAdmin delete = new deleteAdmin(num,allName);
delete.setVisible(true);
setVisible(false);
dispose();
}
然後兩個參數傳遞給類deleteAdmin
public class deleteAdmin extends JFrame {
private JPanel contentPane;
private JTextField userText;
private JTextField txtpassword;
JFrame f= new JFrame(" Add Admin");
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
button frame = new button();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public deleteAdmin(int num, List<String> names)
{
super("Delete Admin");
setBounds(100, 200, 340, 229);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(35, 19, 242, 146);
contentPane.add(panel);
panel.setLayout(null);
JCheckBox[] checkBoxList = new JCheckBox[num];
for(int i = 0; i < num; i++) {
checkBoxList[i] = new JCheckBox("CheckBox" + i);
contentPane.add(checkBoxList[i]);
}
}
}
不過,我得到這樣的輸出。不顯示任何複選框:(
使用空佈局:'contentPane.setLayout(null)',您必須爲組件提供大小和位置,使用'setBounds'。 – Berger
@Berger因爲它們是動態添加的,我怎樣才能爲每個'checkboxes'設置'setBounds'? –
你可以在'for'循環中做到這一點,並根據'i'值選擇它們的位置。 – Berger