我的表格中有以下4个JChecbox。如果用户单击所有四个或JCheckbox的任何选项,如何在一个sigle列中保存mysql数据库中checbox的值?当我点击我的添加按钮时,它应该存储所选复选框中的所有值。请帮助..谢谢
我的代码:
foreign = new JCheckBox("Foreign");
foreign.setFont(new Font("Tahoma", Font.BOLD, 12));
foreign.setForeground(new Color(240, 255, 240));
foreign.setBounds(16, 25, 97, 23);
foreign.setOpaque(false);
panel.add(foreign);
travelling = new JCheckBox("Travelling");
travelling.setFont(new Font("Tahoma", Font.BOLD, 12));
travelling.setForeground(new Color(240, 255, 240));
travelling.setBounds(150, 26, 97, 23);
travelling.setOpaque(false);
panel.add(travelling);
danger = new JCheckBox("Danger Pay");
danger.setFont(new Font("Tahoma", Font.BOLD, 12));
danger.setForeground(new Color(240, 255, 240));
danger.setBounds(16, 68, 97, 23);
danger.setOpaque(false);
panel.add(danger);
medical = new JCheckBox("Medical Scheme");
medical.setFont(new Font("Tahoma", Font.BOLD, 12));
medical.setForeground(new Color(240, 255, 240));
medical.setBounds(150, 69, 121, 23);
medical.setOpaque(false);
panel.add(medical);
add = new JButton("Add");
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int id1 = Integer.parseInt(id.getText());
String fn = fname.getText();
String ln = lname.getText();
String po = pos.getText();
String sa = sal.getText();
String all = "";
if(foreign.isSelected() && travelling.isSelected() && danger.isSelected() && medical.isSelected()){
all = "Foreign, Travelling, Danger, Medical";
}else if(foreign.isSelected() && travelling.isSelected() && danger.isSelected()){
all = "Foreign, Travelling, Danger";
}else if(foreign.isSelected() && travelling.isSelected()){
all = "Foreign, Travelling";
}else if()
}
});
答案 0 :(得分:0)
您可以将数据保存在单独的表中。我的意思是假设您将数据存储在具有2列的表temp中 - id和selection。现在我的建议是你创建2个表一个用于id,另一个用于选择。选择表将有2列id和选择。 id列是id表的id列的外键。
现在,当id为01的用户选择“外国”& “旅行”,然后在选择表中选择01个 - 外国和01 - 旅行
现在,当id为02的用户选择所有选项时,您将在选择表中根据用户的ID创建4个条目:
这样您就可以单独保存每个选择。
收到您的评论后
在您发表评论后,我只能建议您在表格中创建4列布尔类型,并在每列中存储每个复选框的状态。