Установка изображения на JLabel, открыв изображение из окна Opendialog - PullRequest
2 голосов
/ 16 ноября 2011

Я пытаюсь установить изображение формата JPG поверх JLabel, полученное путем просмотра файлов системы. Ниже приведен код. При запуске этого кода я получаю очень маленькую белую иконку вместо моей большой метки, размещенной над формой. Как я могу разместить оригинальное изображение над этикеткой. Пожалуйста, помогите мне через это. Я использую язык Java в NetBeans 7.0.

//Code of the browse button that performs the action
private void BrowseButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
       final JFileChooser fc = new JFileChooser();
      int r = fc.showOpenDialog(CompareFaces.this);

      fc.setFileSelectionMode(fc.FILES_AND_DIRECTORIES);

      if (r == JFileChooser.APPROVE_OPTION) {
      String name = fc.getSelectedFile().getAbsolutePath();
      BrowseField1.setText(name);

      File f = new File(name);
      Icon icon = fc.getIcon(f);
      Preview1.setIcon(icon);  // Preview1 is the name of my JLabel 
      }

1 Ответ

1 голос
/ 16 ноября 2011

Если вы пытаетесь отобразить изображение в исходном формате, попробуйте это, у меня получилось:

Preview1.setIcon(new javax.swing.ImageIcon(name));

Вместо:

File f = new File(name);
Icon icon = fc.getIcon(f);
Preview1.setIcon(icon);  // Preview1 is the name of my JLabel 

Документация JFileChooser.getIcon гласит:

Возвращает значок для этого файла или типа файла, в зависимости от система.

Это означает, что в опубликованном вами коде будет отображаться значок типа изображения как определено в вашей конфигурации ОС, а не в самом образе.

...