Java-带按钮的座位预订系统
我需要做一个航空公司预订系统,我有这套按钮,比点击时要多 被禁用,其值将与乘客的其他详细信息一起添加到数据库中。我的问题是如何在下次运行程序时禁用已保留的按钮 我试着使用这个代码Java-带按钮的座位预订系统,java,Java,我需要做一个航空公司预订系统,我有这套按钮,比点击时要多 被禁用,其值将与乘客的其他详细信息一起添加到数据库中。我的问题是如何在下次运行程序时禁用已保留的按钮 我试着使用这个代码 resultset.next(); String a = resultset.getString("Seat"); s1.setText(a); resultset.next(); String
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);
}
等等
但是,此代码太长,当我的resultset获取空值时,所有已保留的按钮都不会被禁用。您可以使用
hashmap
当您从数据库读取数据时
HashMap<String , JButton> myButtons = new HashMap<String , JButton>();
while(resultset.hasNext()){
myButtons.push(resultset.getString("Seat") , yourButton);
}
对于您正在使用的字符串
,可以使用列表
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);
}
您可以在此处使用一些数组或列表使用数据库将是一个更好的选择在表中添加一个新列,以指示预订/保留的银行是否很多!虽然我仍然有一个问题,即使是那些尚未保留的按钮也被禁用
if(seats.contains(key)){
JButton button = myButtons.get(key);
button.setEnabled(false);
button.setBackground(Color.red);
}