我需要建立一个航班预订系统我有这套按钮,而不是单击时 被禁用,其价值将与乘客的其他详细信息一起添加到数据库中。我的问题是如何在下次运行程序时禁用已保留的按钮。
我尝试使用此代码
resultset.next();
String a = resultset.getString("Seat");
s1.setText(a);
resultset.next();
String b = resultset.getString("Seat");
s2.setText(b);
resultset.next();
String c = resultset.getString("Seat");
s3.setText(c);
resultset.next();
String d = resultset.getString("Seat");
s4.setText(d);
resultset.next();
String e = resultset.getString("Seat");
s5.setText(e);
resultset.next();
String f = resultset.getString("Seat");
s6.setText(f);
resultset.next();
String g = resultset.getString("Seat");
s7.setText(g);
resultset.next();
String h = resultset.getString("Seat");
s8.setText(h);
if(zxc.contentEquals("Seat 1A")){
Seat1A.setEnabled(false);
Seat1A.setBackground(Color.red);
}
else if(zxc.contentEquals("Seat 2B")){
Seat2B.setEnabled(false);
Seat2B.setBackground(Color.red);
}
else if(zxc.contentEquals("Seat 3C")){
Seat3C.setEnabled(false);
Seat3C.setBackground(Color.red);
}
else if(zxc.contentEquals("Seat 4D")){
Seat4D.setEnabled(false);
Seat4D.setBackground(Color.red);
}
else if(zxc.contentEquals("Seat 5E")){
Seat5E.setEnabled(false);
Seat5E.setBackground(Color.red);
}
等等 但是这段代码太长了,当我的结果集获取一个空值时,所有已保留的按钮都不会被禁用。
答案 0 :(得分:0)
您可以使用hashmap
从数据库中读取
HashMap<String , JButton> myButtons = new HashMap<String , JButton>();
while(resultset.hasNext()){
myButtons.push(resultset.getString("Seat") , yourButton);
}
并禁用
for(String key : myButtons.keySet()){
if(key.equals("Seat 1A")){
JButton button = myButtons.get(key);
button.setEnabled(false);
button.setBackground(Color.red);
}
}
对于您使用的String
,您可以使用List
List seats = new ArrayList();
seats.add("Seat 1A");
...
然后更改你的if语句
if(seats.contains(key)){
JButton button = myButtons.get(key);
button.setEnabled(false);
button.setBackground(Color.red);
}