Как изменить значок приложения java

I'm using NetBeans, trying to change the familiar Java coffee cup icon to a png file that I have saved in a resources directory in the jar file. I've found many different web pages that claim they...

I’m using NetBeans, trying to change the familiar Java coffee cup icon to a png file that I have saved in a resources directory in the jar file. I’ve found many different web pages that claim they have a solution, but so far none of them work.

Here’s what I have at the moment (leaving out the try-catch block):

URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);

The class that contains this code is in the com.xyz package, if that makes any difference. That class also extends JFrame. This code is throwing a MalformedUrlException on the first line.

Anyone have a solution that works?

asked Oct 16, 2008 at 18:58

Bill the Lizard's user avatar

Bill the LizardBill the Lizard

394k208 gold badges559 silver badges874 bronze badges

1

java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");

May or may not require a ‘/’ at the front of the path.

Bill the Lizard's user avatar

answered Oct 16, 2008 at 19:01

JeeBee's user avatar

6

You can simply go Netbeans, in the design view, go to JFrame property, choose icon image property, Choose Set Form’s iconImage property using: «Custom code» and then in the Form.SetIconImage() function put the following code:

Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))

Do not forget to import:

import java.awt.Toolkit;

in the source code!

tbodt's user avatar

tbodt

16.3k6 gold badges57 silver badges83 bronze badges

answered Jan 16, 2013 at 9:41

Ayoub Aneddame's user avatar

1

Or place the image in a location relative to a class and you don’t need all that package/path info in the string itself.

com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );

That way if you move the class to a different package, you dont have to find all the strings, you just move the class and its resources directory.

answered Oct 16, 2008 at 20:37

John Gardner's user avatar

John GardnerJohn Gardner

23.8k5 gold badges59 silver badges76 bronze badges

1

Try This write after

initcomponents();

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Your image address")));

pb2q's user avatar

pb2q

57.6k18 gold badges145 silver badges146 bronze badges

answered Oct 19, 2013 at 18:46

user2895893's user avatar

    /** Creates new form Java Program1*/
    public Java Program1() 


    Image im = null;
    try {
    im = ImageIO.read(getClass().getResource("/image location"));
    } catch (IOException ex) {
    Logger.getLogger(chat.class.getName()).log(Level.SEVERE, null, ex);
    }
    setIconImage(im);

This is what I used in the GUI in netbeans and it worked perfectly

answered Oct 24, 2012 at 1:05

user1456935's user avatar

In a class that extends a javax.swing.JFrame use method setIconImage.

this.setIconImage(new ImageIcon(getClass().getResource("/resource/icon.png")).getImage());

answered Sep 21, 2013 at 0:58

user2601995's user avatar

user2601995user2601995

6,2658 gold badges36 silver badges41 bronze badges

0

You should define icons of various size, Windows and Linux distros like Ubuntu use different icons in Taskbar and Alt-Tab.

public static final URL ICON16 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug16.png");
public static final URL ICON32 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug32.png");
public static final URL ICON96 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug96.png");

List<Image> images = new ArrayList<>();
try {
    images.add(ImageIO.read(HelperUi.ICON96));
    images.add(ImageIO.read(HelperUi.ICON32));
    images.add(ImageIO.read(HelperUi.ICON16));
} catch (IOException e) {
    LOGGER.error(e, e);
}

// Define a small and large app icon
this.setIconImages(images);

answered Jul 24, 2016 at 0:48

ron190's user avatar

ron190ron190

1,0121 gold badge17 silver badges29 bronze badges

You can try this one, it works just fine :

`   ImageIcon icon = new ImageIcon(".//Ressources//User_50.png");
    this.setIconImage(icon.getImage());`

answered Jan 26, 2019 at 1:23

Spicy strike's user avatar

inside frame constructor

try{    
       setIconImage(ImageIO.read(new File("./images/icon.png")));   
   }
catch (Exception ex){
       //do something
   }

answered Oct 21, 2017 at 18:32

Alex S's user avatar

Example:

URL imageURL = this.getClass().getClassLoader().getResource("Gui/icon/report-go-icon.png");
ImageIcon iChing = new ImageIcon("C:\Users\RrezartP\Documents\NetBeansProjects\Inventari\src\Gui\icon\report-go-icon.png");      
btnReport.setIcon(iChing); 
System.out.println(imageURL);

ron190's user avatar

ron190

1,0121 gold badge17 silver badges29 bronze badges

answered Sep 26, 2014 at 9:01

Rrezart A. Prebreza's user avatar

I’m using NetBeans, trying to change the familiar Java coffee cup icon to a png file that I have saved in a resources directory in the jar file. I’ve found many different web pages that claim they have a solution, but so far none of them work.

Here’s what I have at the moment (leaving out the try-catch block):

URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);

The class that contains this code is in the com.xyz package, if that makes any difference. That class also extends JFrame. This code is throwing a MalformedUrlException on the first line.

Anyone have a solution that works?

asked Oct 16, 2008 at 18:58

Bill the Lizard's user avatar

Bill the LizardBill the Lizard

394k208 gold badges559 silver badges874 bronze badges

1

java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");

May or may not require a ‘/’ at the front of the path.

Bill the Lizard's user avatar

answered Oct 16, 2008 at 19:01

JeeBee's user avatar

6

You can simply go Netbeans, in the design view, go to JFrame property, choose icon image property, Choose Set Form’s iconImage property using: «Custom code» and then in the Form.SetIconImage() function put the following code:

Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))

Do not forget to import:

import java.awt.Toolkit;

in the source code!

tbodt's user avatar

tbodt

16.3k6 gold badges57 silver badges83 bronze badges

answered Jan 16, 2013 at 9:41

Ayoub Aneddame's user avatar

1

Or place the image in a location relative to a class and you don’t need all that package/path info in the string itself.

com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );

That way if you move the class to a different package, you dont have to find all the strings, you just move the class and its resources directory.

answered Oct 16, 2008 at 20:37

John Gardner's user avatar

John GardnerJohn Gardner

23.8k5 gold badges59 silver badges76 bronze badges

1

Try This write after

initcomponents();

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Your image address")));

pb2q's user avatar

pb2q

57.6k18 gold badges145 silver badges146 bronze badges

answered Oct 19, 2013 at 18:46

user2895893's user avatar

    /** Creates new form Java Program1*/
    public Java Program1() 


    Image im = null;
    try {
    im = ImageIO.read(getClass().getResource("/image location"));
    } catch (IOException ex) {
    Logger.getLogger(chat.class.getName()).log(Level.SEVERE, null, ex);
    }
    setIconImage(im);

This is what I used in the GUI in netbeans and it worked perfectly

answered Oct 24, 2012 at 1:05

user1456935's user avatar

In a class that extends a javax.swing.JFrame use method setIconImage.

this.setIconImage(new ImageIcon(getClass().getResource("/resource/icon.png")).getImage());

answered Sep 21, 2013 at 0:58

user2601995's user avatar

user2601995user2601995

6,2658 gold badges36 silver badges41 bronze badges

0

You should define icons of various size, Windows and Linux distros like Ubuntu use different icons in Taskbar and Alt-Tab.

public static final URL ICON16 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug16.png");
public static final URL ICON32 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug32.png");
public static final URL ICON96 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug96.png");

List<Image> images = new ArrayList<>();
try {
    images.add(ImageIO.read(HelperUi.ICON96));
    images.add(ImageIO.read(HelperUi.ICON32));
    images.add(ImageIO.read(HelperUi.ICON16));
} catch (IOException e) {
    LOGGER.error(e, e);
}

// Define a small and large app icon
this.setIconImages(images);

answered Jul 24, 2016 at 0:48

ron190's user avatar

ron190ron190

1,0121 gold badge17 silver badges29 bronze badges

You can try this one, it works just fine :

`   ImageIcon icon = new ImageIcon(".//Ressources//User_50.png");
    this.setIconImage(icon.getImage());`

answered Jan 26, 2019 at 1:23

Spicy strike's user avatar

inside frame constructor

try{    
       setIconImage(ImageIO.read(new File("./images/icon.png")));   
   }
catch (Exception ex){
       //do something
   }

answered Oct 21, 2017 at 18:32

Alex S's user avatar

Example:

URL imageURL = this.getClass().getClassLoader().getResource("Gui/icon/report-go-icon.png");
ImageIcon iChing = new ImageIcon("C:\Users\RrezartP\Documents\NetBeansProjects\Inventari\src\Gui\icon\report-go-icon.png");      
btnReport.setIcon(iChing); 
System.out.println(imageURL);

ron190's user avatar

ron190

1,0121 gold badge17 silver badges29 bronze badges

answered Sep 26, 2014 at 9:01

Rrezart A. Prebreza's user avatar

I’m using NetBeans, trying to change the familiar Java coffee cup icon to a png file that I have saved in a resources directory in the jar file. I’ve found many different web pages that claim they have a solution, but so far none of them work.

Here’s what I have at the moment (leaving out the try-catch block):

URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);

The class that contains this code is in the com.xyz package, if that makes any difference. That class also extends JFrame. This code is throwing a MalformedUrlException on the first line.

Anyone have a solution that works?

asked Oct 16, 2008 at 18:58

Bill the Lizard's user avatar

Bill the LizardBill the Lizard

394k208 gold badges559 silver badges874 bronze badges

1

java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");

May or may not require a ‘/’ at the front of the path.

Bill the Lizard's user avatar

answered Oct 16, 2008 at 19:01

JeeBee's user avatar

6

You can simply go Netbeans, in the design view, go to JFrame property, choose icon image property, Choose Set Form’s iconImage property using: «Custom code» and then in the Form.SetIconImage() function put the following code:

Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))

Do not forget to import:

import java.awt.Toolkit;

in the source code!

tbodt's user avatar

tbodt

16.3k6 gold badges57 silver badges83 bronze badges

answered Jan 16, 2013 at 9:41

Ayoub Aneddame's user avatar

1

Or place the image in a location relative to a class and you don’t need all that package/path info in the string itself.

com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );

That way if you move the class to a different package, you dont have to find all the strings, you just move the class and its resources directory.

answered Oct 16, 2008 at 20:37

John Gardner's user avatar

John GardnerJohn Gardner

23.8k5 gold badges59 silver badges76 bronze badges

1

Try This write after

initcomponents();

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Your image address")));

pb2q's user avatar

pb2q

57.6k18 gold badges145 silver badges146 bronze badges

answered Oct 19, 2013 at 18:46

user2895893's user avatar

    /** Creates new form Java Program1*/
    public Java Program1() 


    Image im = null;
    try {
    im = ImageIO.read(getClass().getResource("/image location"));
    } catch (IOException ex) {
    Logger.getLogger(chat.class.getName()).log(Level.SEVERE, null, ex);
    }
    setIconImage(im);

This is what I used in the GUI in netbeans and it worked perfectly

answered Oct 24, 2012 at 1:05

user1456935's user avatar

In a class that extends a javax.swing.JFrame use method setIconImage.

this.setIconImage(new ImageIcon(getClass().getResource("/resource/icon.png")).getImage());

answered Sep 21, 2013 at 0:58

user2601995's user avatar

user2601995user2601995

6,2658 gold badges36 silver badges41 bronze badges

0

You should define icons of various size, Windows and Linux distros like Ubuntu use different icons in Taskbar and Alt-Tab.

public static final URL ICON16 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug16.png");
public static final URL ICON32 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug32.png");
public static final URL ICON96 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug96.png");

List<Image> images = new ArrayList<>();
try {
    images.add(ImageIO.read(HelperUi.ICON96));
    images.add(ImageIO.read(HelperUi.ICON32));
    images.add(ImageIO.read(HelperUi.ICON16));
} catch (IOException e) {
    LOGGER.error(e, e);
}

// Define a small and large app icon
this.setIconImages(images);

answered Jul 24, 2016 at 0:48

ron190's user avatar

ron190ron190

1,0121 gold badge17 silver badges29 bronze badges

You can try this one, it works just fine :

`   ImageIcon icon = new ImageIcon(".//Ressources//User_50.png");
    this.setIconImage(icon.getImage());`

answered Jan 26, 2019 at 1:23

Spicy strike's user avatar

inside frame constructor

try{    
       setIconImage(ImageIO.read(new File("./images/icon.png")));   
   }
catch (Exception ex){
       //do something
   }

answered Oct 21, 2017 at 18:32

Alex S's user avatar

Example:

URL imageURL = this.getClass().getClassLoader().getResource("Gui/icon/report-go-icon.png");
ImageIcon iChing = new ImageIcon("C:\Users\RrezartP\Documents\NetBeansProjects\Inventari\src\Gui\icon\report-go-icon.png");      
btnReport.setIcon(iChing); 
System.out.println(imageURL);

ron190's user avatar

ron190

1,0121 gold badge17 silver badges29 bronze badges

answered Sep 26, 2014 at 9:01

Rrezart A. Prebreza's user avatar

Если вы уже насмотрелись на чашечку дымящейся джавы, которая по умолчании присваивается каждому JFrame, то пора уже заменить на собственную иконку. Иконка меняется на первый взгляд просто:

JFrame frame = new JFrame("Заголовок").setIconImage(ВашаИконка);

Где «ВашаИконка» должна быть типа Image.
Следующий шаг — как получить иконку, которая есть у нас в ресурсах, например в папке «res/img/ИмяФайлаИконки«, ведь хочется при всем оставаться в области относительности путей к любым файлам ресурсов приложения. Это тоже, казалось бы, не сложно исполнить:

Image ВашаИконка= new ImageIcon(УРЛПутьКИконке).getImage();

Где «УРЛПутьКИконке» должен быть типа URL. И, воспользовавшись вызовом

getResource("res/img/ИмяФайлаИконки")

можно с лёгкостью дотянуться до любого файла из наших файловых ресурсов.
И вот тут начинается самое интересное — getResource() — это метод объекта класса, который мы можем вызвать следующим образом:

frame.getClass().getResource("res/img/ИмяФайлаИконки")

Но это не работает для статических объектов классов, обязательно нужен «живой» не статический объект класса, чтобы получить от него ресурс. Если же в главном и любимом методе main приложения попытаться такое сделать — будет ошибка, ведь главный метод — статический и он работает только со статическими ссылками. Но выход есть через статическое обращение к классу следующим образом:

        URL УРЛПутьКИконке = ГлавныйКласс.class.getResource("res/img/ИмяФайлаИконки");

Также можно завести объект класса JFrame через наследование, в этом случае у нас будет объект от которого мы можем «дотянуться» до ресурса.
То есть надо для этого написать гораздо больше кода, сначала в методе main:

static JFrame frame = new MyJFrameWithIcon();

а затем оформить и сам класс новой формы:

class MyJFrameWithIcon extends JFrame {
    public MyJFrameWithIcon() {
        URL resURL = getClass().getResource("res/img/ИмяФайлаИконки");
        Image img = new ImageIcon(resURL).getImage();
        setIconImage(img);
    }
}

Примечение: к сожалению, такой метод не проходит для диалоговых окон, например для JFileChooser, поскольку последний ведет свою родословную не от JFrame, а от JComponent. Так что, как для «чосеров» заменить иконку — я пока не знаю, буду рад подсказке в комментариях. И если способ все-таки есть — я им дополню эту заметку.

JavaFX Application Icon Tutorial

All programs require a nice-looking icon or logo on the taskbar and the window to make it look professional. JavaFX provides easy ways to set up an application icon using any image of your choice, whether it be JPG or PNG or something else. In this tutorial, let’s see how to set up an icon for the application

Set JavaFX Window/Stage icon from an image file

The usual method of attaching an icon to the JavaFX application is that, you simply include the icon image inside the JAR file as a resource and then use it. Let’s see how you can do that.

Step 1: Add the icon to the resource directory

First, add the image into the resource directory. You can use any supported image formats, like PNG, JPEG etc.

JavaFX Add Image Resource

Step 2: Attach the icon to the application window

Now, let’s attach the image from the resource directory to the window, aka stage. The following code snippets show how to do that in an example program.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class JavaFXIconExample extends Application {

  @Override
  public void start(Stage stage) {
    Scene scene = new Scene(new StackPane(), 320, 320);    

    //Attach the icon to the stage/window
    stage.getIcons().add(new Image(JavaFXIconExample.class.getResourceAsStream("/logo.png")));

    stage.setTitle("Sample program!");
    stage.setScene(scene);
    stage.show();
  }

  public static void main(String[] args) {
    launch();
  }
}

So in the above example, we are attaching the icon to the primary stage (also known as root stage). If you want to add logo to the other stages you create, you can repeat the same process again to add icons to them as well, with just one line of code.

stage.getIcons().add(new Image(JavaFXIconExample.class.getResourceAsStream("/logo.png")));

JavaFX Application With Custom Icon

Set icon from an image URL

Now, let’s say you want to add the image dynamically from a URL instead of adding from an image file, that is also easily possible. This can be done with just one line of code, as shown below.

stage.getIcons().add(new Image("https://genuinecoder.com/wp-content/uploads/2022/06/genuine_coder-3.png"));

In this example, I have used genuine coder logo to dynamically load the application icon. The advantage of using the logo from a URL is that, you can change the logo in the server without touching your program once it is rolled out to your customers.

Conclusion

JavaFX provides a one-line option to attach images/logo to the windows. The logo image can be loaded from an image file or from a URL.

theadamo86

7 / 7 / 0

Регистрация: 14.09.2013

Сообщений: 168

1

Как сменить иконку приложения?

06.01.2014, 05:16. Показов 9944. Ответов 6

Метки нет (Все метки)


Как поменять иконку исполняемого файла (.app)? Программирую под Mac OS в IDEA. Вот моя программа:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import javax.swing.*;
import java.awt.event.*;
 
public class Dialog extends JDialog {
    private JPanel contentPane;
    private JButton buttonOK;
    private JButton buttonCancel;
 
    public Dialog() {
        setContentPane(contentPane);
        setModal(true);
        getRootPane().setDefaultButton(buttonOK);
 
        buttonOK.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                onOK();
            }
        });
 
        buttonCancel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                onCancel();
            }
        });
 
// call onCancel() when cross is clicked
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                onCancel();
            }
        });
 
// call onCancel() on ESCAPE
        contentPane.registerKeyboardAction(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                onCancel();
            }
        }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    }
 
    private void onOK() {
// add your code here
        dispose();
    }
 
    private void onCancel() {
// add your code here if necessary
        dispose();
    }
 
    public static void main(String[] args) {
        System.out.println("Start");
        Dialog dialog = new Dialog();
        dialog.pack();
        dialog.setVisible(true);
        System.exit(0);
    }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

06.01.2014, 05:16

6

Java, C# — Expert

69 / 69 / 12

Регистрация: 09.08.2011

Сообщений: 284

06.01.2014, 15:17

2

this.setIconImage(ImageIO.read(«picture.png»));



0



theadamo86

7 / 7 / 0

Регистрация: 14.09.2013

Сообщений: 168

06.01.2014, 20:51

 [ТС]

3

Цитата
Сообщение от IceSqueez
Посмотреть сообщение

this.setIconImage(ImageIO.read(«picture.png»));

Так не получилось — программа не компилировалась. Я немного подправил код

Java
1
2
File file = new File("picture.png");
this.setIconImage(ImageIO.read(file));

но все равно не получилось.

Добавлено через 6 минут
Т.е. иконка не поменялась.



0



ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ

443 / 442 / 100

Регистрация: 14.10.2012

Сообщений: 1,146

Записей в блоге: 9

06.01.2014, 21:11

4

путь к иконке валидный?



0



7 / 7 / 0

Регистрация: 14.09.2013

Сообщений: 168

06.01.2014, 21:14

 [ТС]

5

Цитата
Сообщение от tankomaz
Посмотреть сообщение

путь к иконке валидный?

Да. Немного еще поясню: мне нужно поменять значок исполняемого файла .jar, чтобы он был в доке.



0



ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ

443 / 442 / 100

Регистрация: 14.10.2012

Сообщений: 1,146

Записей в блоге: 9

06.01.2014, 21:39

6

эта штука умеет http://jsmooth.sourceforge.net/ ,
утверждать не буду, но если исполняемый jar с иконкой, то вроде бы manifest файл нужно крутить, а не классы (поправьте)



1



2000 / 1423 / 92

Регистрация: 25.11.2010

Сообщений: 3,611

09.01.2014, 16:07

7

Вообще-то иконка именно файла регулируется типом файла в ОС. Не могу утверждать этого со стопроцентной уверенностью относительно MacOS, но у меня есть подозрение, что ОС не умеет залазить в jar, читать манифест и устанавливать для файла специальную иконку.

А приведенный выше способ устанавливает иконку окна (она же будет видна в панели приложений при запуске).



2



Я использую NetBeans, пытаясь изменить знакомый значок чашки кофе Java на файл png, который я сохранил в каталоге ресурсов в файле jar. Я нашел много разных веб-страниц, которые утверждают, что у них есть решение, но пока никто из них не работает.

Вот то, что у меня есть на данный момент (исключая блок try-catch):

URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);

Класс, содержащий этот код, находится в пакете com.xyz, если это имеет значение. Этот класс также расширяет JFrame. Этот код генерирует исключение MalformedUrlException в первой строке.

У кого-нибудь есть решение, которое работает?

16 окт. 2008, в 21:34

Поделиться

Источник

10 ответов

java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");

Может или не может потребоваться ‘/’ в начале пути.

JeeBee
16 окт. 2008, в 20:45

Поделиться

Вы можете просто запустить Netbeans в представлении проекта, перейдите в свойство JFrame, выберите свойство изображения значка, выберите свойство Set Form iconImage, используя: «Пользовательский код», а затем в функции Form.SetIconImage() введите следующие код:

Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))

Не забывайте импортировать:

import java.awt.Toolkit;

в исходном коде!

Ayoub Aneddame
16 янв. 2013, в 10:35

Поделиться

Попробуйте эту запись после

initcomponents();

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Your image address")));

user2895893
19 окт. 2013, в 19:45

Поделиться

Или поместите изображение в местоположение относительно класса, и вам не нужна вся информация об этом пакете/пути в самой строке.

com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );

Таким образом, если вы переместите класс в другой пакет, вам не нужно будет найти все строки, просто переместите класс и его каталог ресурсов.

John Gardner
16 окт. 2008, в 20:52

Поделиться

    /** Creates new form Java Program1*/
    public Java Program1() 


    Image im = null;
    try {
    im = ImageIO.read(getClass().getResource("/image location"));
    } catch (IOException ex) {
    Logger.getLogger(chat.class.getName()).log(Level.SEVERE, null, ex);
    }
    setIconImage(im);

Это то, что я использовал в графическом интерфейсе в netbeans, и он отлично работал

user1456935
24 окт. 2012, в 01:41

Поделиться

Вы должны определить значки различного размера, дистрибутивы Windows и Linux, например, Ubuntu используют разные значки на панели задач и Alt-Tab.

public static final URL ICON16 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug16.png");
public static final URL ICON32 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug32.png");
public static final URL ICON96 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug96.png");

List<Image> images = new ArrayList<>();
try {
    images.add(ImageIO.read(HelperUi.ICON96));
    images.add(ImageIO.read(HelperUi.ICON32));
    images.add(ImageIO.read(HelperUi.ICON16));
} catch (IOException e) {
    LOGGER.error(e, e);
}

// Define a small and large app icon
this.setIconImages(images);

ron190
24 июль 2016, в 01:46

Поделиться

В классе, который расширяет метод использования javax.swing.JFrame setIconImage.

this.setIconImage(new ImageIcon(getClass().getResource("/resource/icon.png")).getImage());

user2601995
21 сен. 2013, в 01:01

Поделиться

Вы можете попробовать этот, он работает просто отлично:

'   ImageIcon icon = new ImageIcon(".//Ressources//User_50.png");
    this.setIconImage(icon.getImage());'

Mohamed Aharrat
26 янв. 2019, в 01:55

Поделиться

внутри конструктора фрейма

try{    
       setIconImage(ImageIO.read(new File("./images/icon.png")));   
   }
catch (Exception ex){
       //do something
   }

Alex S
21 окт. 2017, в 20:27

Поделиться

Пример:

URL imageURL = this.getClass().getClassLoader().getResource("Gui/icon/report-go-icon.png");
ImageIcon iChing = new ImageIcon("C:\Users\RrezartP\Documents\NetBeansProjects\Inventari\src\Gui\icon\report-go-icon.png");      
btnReport.setIcon(iChing); 
System.out.println(imageURL);

Rrezart A. Prebreza
26 сен. 2014, в 09:15

Поделиться

Ещё вопросы

  • 1Gem установить для jruby-complete.jar
  • 1Intent-Filter в Сервисе
  • 0Передать значения столбцов таблицы ng-repeat в массив
  • 1Максимальный размер кэша Prefetcher достигнут
  • 1App Engine gcloud: Не удается найти файлы Python в домашнем каталоге, но они работают?
  • 0Управление HTML одним нажатием кнопки (Meteor + Angular)
  • 1d3 fitSize дает значения NaN
  • 1Python / GPyOpt: оптимизация только одного аргумента
  • 0используя display: table-cell с позицией: исправлено
  • 0Удалить строку из XML в PHP
  • 0двигаться вверх в DOM
  • 1Используйте LINQ, чтобы получить элементы в списке
  • 1Момент js вычесть 2 раза
  • 1Подходят ли объекты для сборки мусора после загрузки страницы?
  • 0Сообщение об ошибке загрузки файла Blueimp для недопустимых файлов
  • 1TypeError: while_loop () получил неожиданный аргумент ключевого слова «Maximum_iterations» в Jupyter Azure
  • 0Фильтр, использующий событие jQuery onChange, фильтрует заголовок таблицы, а не только тело таблицы.
  • 0Создайте массив в php и используйте Jquery get
  • 0Как запросить таблицу с составным первичным ключом
  • 1Как присвоить значения массиву numpy как функцию индекса?
  • 0MFC ActiveX CShockwaveflash элемент. Как отключить контекстное меню?
  • 0Повторная отправка http-запроса, более быстрая (асинхронный режим)
  • 0Подсчитать отличное значение с 2 критериями
  • 1Как найти имя выходного узла данного файла .ckpt.meta в тензорном потоке
  • 0Как изменить шаблон в ng-repeat?
  • 1Windows Phone 8.1 Как добавить семейство шрифтов
  • 1Android ViewFlipper showПредыдущий через 300 мс
  • 0JQuery Хорошая практика кодирования
  • 1Получить разницу между списком в кадре данных Pandas и внешним списком
  • 1Видео YouTube iFrame API периодически воспроизводится на мобильных устройствах
  • 0Получение Radius из MySQL в PHP
  • 0Как мне поймать _mysql_exceptions.OperationalError: 2002 в Python
  • 0SQL — добавить вычисляемый столбец в таблицу MOD (%)
  • 0Перезагрузка нового набора изображений делает высоту div в изотопе 0
  • 0вопрос подсказки загрузчика angular-ui
  • 0использование значения в поле выбора в качестве входа для сохранения в таблицу sql
  • 0индексация по одному столбцу против индексации по нескольким столбцам
  • 0Как я могу получить обратный вызов после завершения перехода JQuery
  • 0Спрайт не работает (фон не корректируется, а ссылка не существует?)
  • 1Рисуем картинку в андроид
  • 1Чтобы проверить определенный формат в текстовом поле
  • 0Кнопка HTML Javascript не работает
  • 0Получить значения из элемента из функции со строковым параметром
  • 1Подключение к базе данных, проверка данных, страница входа
  • 1C # Winform сохранить настройки
  • 0Статус 400 Запрос, отправленный клиентом, был синтаксически неверным. Angularjs http
  • 0Grunt не обновляет теги Script в приложении Angularjs
  • 0AngularJS дает исключение TypeError
  • 1Изменить логическое значение по умолчанию с помощью OrmLite в БД
  • 1Создайте экземпляр класса Parent, используя ссылку на дочерний класс [duplicate]

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить значок презентации powerpoint 2016
  • Как изменить значок подписчика твич
  • Как изменить значок подключения к интернету
  • Как изменить значок пдф файла
  • Как изменить значок папки на телефоне

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии