Próbowałem w ten sposób, ale to się nie zmieniło?Jak ustawić Icon do JFrame
ImageIcon icon = new ImageIcon("C:\\Documents and Settings\\Desktop\\favicon(1).ico");
frame.setIconImage(icon.getImage());
Próbowałem w ten sposób, ale to się nie zmieniło?Jak ustawić Icon do JFrame
ImageIcon icon = new ImageIcon("C:\\Documents and Settings\\Desktop\\favicon(1).ico");
frame.setIconImage(icon.getImage());
Lepiej użyj pliku .png; .ico jest specyficzne dla Windows. Lepiej nie używać pliku, ale zasobu klasy (można go spakować w słoik aplikacji).
URL iconURL = getClass().getResource("/some/package/favicon.png");
// iconURL is null when not found
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());
Chociaż można nawet pomyśleć o użyciu setIconImages dla ikony w kilku rozmiarach.
Otrzymuję zerowy wskaźnik wyjątku cały czas, mimo że ścieżka obrazu jest poprawna – vijay
Opóźniona odpowiedź: ikona powinna znajdować się w tym samym słoju co klasa, w której jest wywołana getClass(), a ścieżka rozróżnia wielkość liter przy użyciu '/' . –
Spróbuj umieścić swoje zdjęcia w oddzielnym folderze poza folderem src. Następnie użyj ImageIO, aby załadować swoje obrazy. Powinno to wyglądać tak:
frame.setIconImage(ImageIO.read(new File("res/icon.png")));
Powyższa odpowiedź nie zadziałała, ale to działa! – trinity420
W końcu znalazłem główny problem przy ustawianiu ikony jframe. Oto mój kod. Jest podobny do innych kodów, ale tutaj jest kilka rzeczy do zapamiętania w grze.
this.setIconImage(new ImageIcon(getClass().getResource("Icon.png")).getImage());
1) Umieść ten kod w JFrame WindowOpened imprezy
2) Umieść obraz w głównym folderze, w którym wszystkie swoje formy i java plików są tworzone na przykład
src\ myproject\ myFrame.form
src\ myproject\ myFrame.java
src\ myproject\ OtherFrame.form
src\ myproject\ OtherFrame.java
src\ myproject\ Icon.png
3) I najważniejsze, że nazwa pliku jest wielkość liter to icon.png nie będzie działać, ale Icon.png.
w ten sposób twoja ikona będzie dostępna nawet po ostatecznym zbudowaniu twojego projektu.
frame.setIconImage(new ImageIcon(URL).getImage());
/* rama jest JFrame metoda setIcon ustawić nową ikonę w ramce nowego ImageIcon zrobić nową instancję klasy (dzięki czemu można uzyskać nową ikonę z adresu URL, który dajesz) na Ostatnia GetImage zwraca ikonę potrzeba jest to „szybki” sposób na ikonę, dla mnie jest to pomocne, ponieważ jest to jedna linia kodu */
proszę podać wyjaśnienie swojego kodu, w szczególności, co robi i jak rozwiąże problem. –
Yon może spróbować po drodze,
myFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("Icon.png"));
Oto kod używam ustawić ikoną JFrame
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
try{
setIconImage(ImageIO.read(new File("res/images/icons/appIcon_Black.png")));
}
catch (IOException e){
e.printStackTrace();
}
Wystarczy skopiować te kilka linijek kodu w kodzie i zastąpić „imgURL” z obrazu (chcesz ustawić jako jframe
ikona) miejscu.
JFrame.setDefaultLookAndFeelDecorated(true);
//Create the frame.
JFrame frame = new JFrame("A window");
//Set the frame icon to an image loaded from a file.
frame.setIconImage(new ImageIcon(imgURL).getImage());
używam następującą klasę użytkową ustawić ikonę JFrame
i JDialog
przypadkach:
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
import java.util.Scanner;
public class WindowUtilities
{
public static void setIconImage(Window window)
{
window.setIconImage(Toolkit.getDefaultToolkit().getImage(WindowUtilities.class.getResource("/Icon.jpg")));
}
public static String resourceToString(String filePath) throws IOException, URISyntaxException
{
InputStream inputStream = WindowUtilities.class.getClassLoader().getResourceAsStream(filePath);
return toString(inputStream);
}
// http://stackoverflow.com/a/5445161/3764804
private static String toString(InputStream inputStream)
{
try (Scanner scanner = new Scanner(inputStream, "UTF-8").useDelimiter("\\A"))
{
return scanner.hasNext() ? scanner.next() : "";
}
}
}
Więc stosując ten staje się tak proste jak wywołanie
WindowUtilities.setIconImage(this);
gdzieś wewnątrz klasa przedłużająca JFrame
.
Numer Icon.jpg
musi być umieszczony na przykład w myproject\src\main\resources
przy użyciu Maven
.
public FaceDetection() {
initComponents();
//Adding Frame Icon
try {
this.setIconImage(ImageIO.read(new File("WASP.png")));
} catch (IOException ex) {
Logger.getLogger(FaceDetection.class.getName()).log(Level.SEVERE, null, ex);
}
}'
to działa dla mnie.
To działa dla mnie.
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(".\\res\\icon.png"));
W przypadku pliku JAR eksportu należy skonfigurować ścieżkę budowania w celu uwzględnienia folderu res i użyć następujących kodów.
URL url = Main.class.getResource("/icon.png");
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(url));
Wygląda na to, że w ścieżce pliku występuje pewien problem. Domyślna ikona obrazu zostanie ustawiona, jeśli nie zostanie znaleziony obraz w określonej ścieżce. – prasanth