2011-03-19 58 views
-1

是否有類型轉換爲String的類型爲JLayeredPane?以下是我使用的代碼:JLayeredPane的類型轉換字符串

private static void build_tables() { 
    String sql="SELECT * FROM pos_tables WHERE pos_company_id='" 
     +global_variables.company_id 
     +"' AND shop_type='" 
     +global_variables.shop_type 
     +"'"; 
    if(mysql_query.count_mysqls(variables.con.conn, sql)>0){ 
     try { 
      ResultSet rs = mysql_query.execute_mysql(variables.con.conn, sql); 
      while (rs.next()) { 
       JLayeredPane JL = (JLayeredPane)rs.getObject("parent_floor"); 
       tablesetup.addButton(rs.getString("table_name"), 
        Integer.parseInt(rs.getString("x")), 
        Integer.parseInt(rs.getString("y")), JL);  
      } 
     } catch (SQLException ex) { 
      Logger.getLogger(builder.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
} 

我收到以下錯誤:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: 
java.lang.String cannot be cast to javax.swing.JLayeredPane
+0

重新格式化代碼;如果不正確請回復。 – trashgod 2011-03-19 03:30:55

回答

1
JLayeredPane JL = (JLayeredPane)rs.getObject("parent_floor"); 

數據庫不包含JLayeredPane對象。它包含一個字符串。

你想做什麼?你爲什麼使用JLayeredPane

只需使用JPanel。然後,您可以使用從數據庫查詢返回的字符串創建JLabel,然後將標籤添加到面板。

喜歡的東西:

String text = rs.getObject("parent_floor").toString(); 
JLabel label = new JLabel(text); 
panel.add(label); 
+0

我正在使用選項卡式窗格,並在每個選項卡中動態添加按鈕和標籤(在另一個分層窗格內)這可以通過使用JPanel來完成嗎?我可以在Jpanel內部添加另一個Jpanel嗎? – Deepak 2011-03-19 02:55:02

+0

您可以任意嵌套JPanels – MeBigFatGuy 2011-03-19 05:22:50