Witam! Mam taki system, sprawdzenia, czy ikona jlabela została ustawiona (z hostingu plików). Jeśli nie, to ma wywalić pewne błędy i spróbować ustawić ikonę z "źródła", czyli z pliku.
Tutaj cały system:
try {
l.setIcon(new ImageIcon(new URL("https://zapodaj.net/images/9e8002bc26a44.png")));
} catch (MalformedURLException e1) {
}
f.setBounds(0, 0, 32, 32);
if (l.getIcon() == null && internetConn == false) {
JOptionPane.showMessageDialog(null,
"Nie udało się załadować ikony! Prawdopodnie nie masz połączenia z internetem! Próba załadowania ikony z źródła",
"Błąd!", JOptionPane.ERROR_MESSAGE);
l.setIcon(new ImageIcon(Main.class.getResource("icon.png")));
if (l.getIcon() != null) {
internetConn = true;
JOptionPane.showMessageDialog(null, "Załadowano ikonę ze źródła", "Sukces!",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null,
"Przykro mi, nie udało się załadować ikony ze źródła, musisz się obejść bez niej!",
"Kolejny błąd :/", JOptionPane.INFORMATION_MESSAGE);
}
} else {
return;
}
Problemem jest to, że nawet jeśli ikony nie dało się załadować, to i tak l.getIcon() zwraca ścieżkę lub w tym przypadku adres do tej ikony :/. Jak sobie z tym poradzić?