0

我需要用背景制作房间 JLabel。这个背景是房间的状态,只是我想把这种颜色更改为循环中的图像我做了一个酒店预订房间和其他一些服务,但我不知道该怎么做

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) {
    }
}
4

2 回答 2

1

您可以使用

setIcon(Icon icon)

JLabel 类的方法。

于 2012-08-05T17:24:47.240 回答
1

要显示带有图标的 JLabel,您应该使用JLabel#setIcon(Icon)

xlabel.setIcon(new ImageIcon(yourImage));
于 2012-08-05T17:26:29.077 回答