Я попытался создать плавающее диалоговое окно, содержащее изображение gif загрузчика и некоторый текст. У меня следующий класс:Как добавить ImageIcon в JDialog?
public class InfoDialog extends JDialog {
public InfoDialog() {
setSize(200, 50);
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
setUndecorated(true);
setLocationRelativeTo(null);
URL url = InfoDialog.class.getClassLoader().getResource("loader.gif");
ImageIcon loading = new ImageIcon(url);
getContentPane().add(new JLabel("Logging in ... ", loading, JLabel.CENTER));
}
}
Однако, когда я называю:
InfoDialog infoDialog = new InfoDialog()
infoDialog.setVisible(true);
Пустое отображается диалоговое окно. ImageIcon и Label не отображаются в диалоговом окне.
Что я сделал не так в этом коде?
Большое спасибо.
Если вы прекратите добавление .gif это, по крайней мере показать текст? Исправлены ли какие-либо исключения? Это выглядит хорошо для меня. – BeRecursive
Вы показываете infoDialog в EDT? –
Также рассмотрите возможность загрузки изображения на [background] (http://stackoverflow.com/a/4530659/230513). – trashgod