Java - 带按钮的座位预订系统

时间:2014-08-28 00:48:58

标签: 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);
       }

等等     但是这段代码太长了,当我的结果集获取一个空值时,所有已保留的按钮都不会被禁用。

1 个答案:

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