2014-09-15 4 views
0

Я пытаюсь добавить изображение в jLabel. Всякий раз, когда пользователь щелкает радиокассету «Single» или «Double», jLabel должен содержать изображение одного или двухместного номера.Изображение с ручкой Java с radioButton

Если rdbDouble (радио-кнопка) нажата, программа должна сделать:

private void rdbDoubleActionPerformed(java.awt.event.ActionEvent evt) { 
     Image imageSingle; 
     try { 
      imageSingle = ImageIO.read(new File("C:\\Tegnikon\\2014\\Java\\Assignments\\Semester 2\\HotelBookingSrvice\\ProjectResources\\Double hotel Room.jpg")); 
     } catch (IOException ex) { 

     } 
     if(rdbDouble.isSelected()) 
     { 
     rdbDouble.setIcon(imageSingle); 
     } 
    } 

код выдает ошибку на "rdbDouble.setIcon (imageSingle);" заявление. Эррос говорит, что требуемое и найденное изображение не в одном формате.

Пожалуйста, скажите мне, что я могу сделать, чтобы получить это право

+0

Я считаю, что это связано с тем, что вы используете формат jpg. попробуйте использовать формат .png или использовать другой класс для обработки изображения, такого как «bitmap». связанная внешняя ссылка: http://developer.android.com/guide/topics/graphics/2d-graphics.html –

+0

Вы пытаетесь добавить изображение в RadioButton, а не JLabel, поскольку оно выглядит из вашего кода. – Niru

ответ

2

Это потому, что он принимает икону и не изображение. Подробные сведения см. В методе setIcon() AbstractButton. В случае, если вы вы должны попробовать еще

Icon icon = new ImageIcon(imageSingle); 
rdbDouble.setIcon(icon); 

Одна вещь, которую я могу видеть в своем коде, что певце добавляете изображение в RadioButton, а не JLabel.

Смежные вопросы