2014-08-28 46 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