将字符串类型转换为 JLayeredPane

发布于 2024-10-23 15:10:31 字数 1113 浏览 6 评论 0原文

有没有办法将 String 类型转换为 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

Is there a way to typecast String type to JLayeredPane? Following is the code I am using:

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

I am getting the following error:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许你一世情深 2024-10-30 15:10:32
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);
JLayeredPane JL = (JLayeredPane)rs.getObject("parent_floor");

A database doesn't contain JLayeredPane objects. It contains a string.

What are you trying to do? Why are you using a JLayeredPane?

Just use a JPanel. Then you can create a JLabel using the string returned from the database query and then you add the label to the panel.

Something like:

String text = rs.getObject("parent_floor").toString();
JLabel label = new JLabel( text );
panel.add(label);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文