2014-08-28 48 views
0

我需要建立一个航班预订系统我拥有这套按钮,而不是点击后 被禁用,它们的价值将与乘客的其他细节一起被添加到数据库中。我的问题是,如何在下一次运行我的程序时将已保留的按钮禁用。Java - 带按钮的座位预订系统

我尝试使用此代码

  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

你可以使用一些数组或列表在这里 – Leo 2014-08-28 00:59:38

+0

使用数据库将是一个更好的选择 – Nabin 2014-08-28 07:07:45

+0

在表中添加新列的指示,如果预订/已保留 – Nabin 2014-08-28 07:08:25

回答

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); 
    } 

} 

为您正在使用您可以使用List

String
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); 
    } 
+0

非常感谢!虽然我仍然有一个问题还剩 即使那些仍然保留的按钮被禁用 – gunz24Z 2014-08-29 14:23:07

+0

没关系我再次感谢它! – gunz24Z 2014-08-29 15:58:19