Java 如何在循环中添加背景图像的JLabel

Java 如何在循环中添加背景图像的JLabel,java,swing,loops,jlabel,imageicon,Java,Swing,Loops,Jlabel,Imageicon,我需要用背景来腾出空间。这个背景是房间的状态 我只是想用一种方法把这个颜色改成循环中的图像 我做了一个酒店预订房间和一些其他服务,我不知道怎么做 private void checkstatus() { jPanel2.removeAll(); int dx = 1; ResultSet Rroom; Rroom = DB.RunQuery("Select * From rooms"); final ImageIcon imageIcon = new

我需要用背景来腾出空间。这个背景是房间的状态 我只是想用一种方法把这个颜色改成循环中的图像 我做了一个酒店预订房间和一些其他服务,我不知道怎么做

private void checkstatus() {
    jPanel2.removeAll();
    int dx = 1; 
    ResultSet Rroom;
    Rroom = DB.RunQuery("Select * From rooms");

    final ImageIcon imageIcon = new ImageIcon("c://Des.jpg");

    try {
        while(Rroom.next()) {
            String Rstatus = Rroom.getString(3);
            rou+=40;

            Label xlabel;
            xlabel = new Label("Label 1",Label.CENTER);
            Font bigFont = new Font("SanSerif", Font.BOLD, 11);
            xlabel.setFont(bigFont);

            if(Rstatus.equals("Busy"))
                xlabel.setBackground(Color.red);
            else if (Rstatus.equals("Test"))
                xlabel.setBackground(Color.CYAN);
            else
                xlabel.setBackground(Color.green);

            jPanel2.add(xlabel);
            xlabel.setForeground(Color.black);
            xlabel.setBounds(new Rectangle(rou, rou2, 35, 35));
            xlabel.setText("1");

            if(rou==365) {
                rou=-35;
                // El 2rtfa3
                rou2 +=40;
            }

            dx++; 
        }  // end of loop

        rou = -35; // for new check
        rou2=10; // for new check   

    }// try 
    catch (SQLException e) {
    }
}
你可以用

setIcon(Icon icon)

JLabel类的方法。

要显示带有图标的JLabel,应使用


错误(635,19):找不到方法setIcon(javax.swing.ImageIcon)。再次查看代码后,我注意到您使用了标签而不是JLabel。我回答了你的问题,是关于杰拉贝尔的。你到底在用什么?如果您实际上使用的是java.awt.Label,那将是不存在setIcon方法的原因。要将图像添加到awt标签,您需要做更多的工作,因此我建议尽可能使用JLabel。发布代码时,请确保其格式一致,缩进正确!这只会使我们更容易阅读,从而帮助您。
xlabel.setIcon(new ImageIcon(yourImage));