bem, tentei aqui e não funcionou, o correto é implementar depois do initComponents();??? sim, jah importei a imagem pro pacote, mais nada funcionou!!!
qual é o possivel problema???
alexandref93
o erro está acusando no nome da extensão que é “.jpg” qual é o problema???
guisantogui
tem q criar um objeto do tipo “Icon” antes de setá-lo!
alexandref93
mais já tah criado, e mesmo assim continua o problema!!!
bem devo acrescentar mais alguma coisa???, por que está pedindo pra criar um método no JFrame que estou implemetando, mais desse jeito, a classe nem executa, qual seria o problema???
M
markin1
Porque você não posta o que você tá fazendo? Fica mais fácil de ver onde está errando.
alexandref93
importjava.awt.Color;importjavax.swing.JDesktopPane;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.UIManager;publicclassPainelFrameextendsjavax.swing.JFrame{publicPainelFrame(){try{UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");}catch(Exceptione){e.printStackTrace();}initComponents();setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);setExtendedState(MAXIMIZED_BOTH);setTitle("Fox Home Vídeo");setFrameIcon(newjavax.swing.ImageIcon(.getClass().getResource("/imagem/dialoglogo128x128.jpg"));}privatevoidinitComponents(){JMenuBarbarra=newjavax.swing.JMenuBar();JMenucliente=newjavax.swing.JMenu("Cliente");barra.add(cliente);setJMenuBar(barra);JDesktopPanelc=newjavax.swing.JDesktopPane();add(lc);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newPainelFrame().setVisible(true);}});}}
E
entanglement
Pegue seu jar. mude a extensão para .zip, abra-o com alguma coisa que saiba olhar dentro de arquivos ZIP (o próprio Windows Explorer consegue fazer isso) e então veja se existe dentro do diretório “imagem” o arquivo “dialoglogo128x128.jpg”. Ele tem de estar exatamente com esse nome, e com as maiúsculas e minúsculas certas. Por exemplo, se o nome está como “dialoglogo128x128.JPG” (ou seja, com maiúsculas na extensão), o Java não vai achar dentro do JAR.
OK?
alexandref93
entanglement:
Pegue seu jar. mude a extensão para .zip, abra-o com alguma coisa que saiba olhar dentro de arquivos ZIP (o próprio Windows Explorer consegue fazer isso) e então veja se existe dentro do diretório “imagem” o arquivo “dialoglogo128x128.jpg”. Ele tem de estar exatamente com esse nome, e com as maiúsculas e minúsculas certas. Por exemplo, se o nome está como “dialoglogo128x128.JPG” (ou seja, com maiúsculas na extensão), o Java não vai achar dentro do JAR.
OK?
mais o erro que está acusando aqui é no “setFrameIcon”, mais fiz isso que vc pediu, mais não mudou nada, o nome do arquivo é minúsculo mesmo!
E
entanglement
Tio, você é um fanfarrão. Como é que esse programa está rodando? Que eu saiba, em Java não dá para começar uma expressão com um ponto. Veja como é que estão o seu “getClass()”. Por que é que há um ponto antes do getClass()?
Você provavelmente deve estar rodando uma versão antiga. Limpe o seu projeto, rode de novo, tire todos os erros de compilação, e veja que o seu problema não é exatamente o nome do arquivo.
M
marcobiscaro2112
Além disso, uma sugestão: para usar o LookAndFeel do sistema faça:
Isso permite que o programa tenha a aparência desejada em vários sistemas operacionais.
Suellen_Susu
Respondendo ao Vanilson:
Este foi o primeiro código que testei e não da certo, acontece o que falei na pergunta…
Roda no netbeans, mas no .jar não aparece o ícone…
Respondendo ao markin1:
quando vc diz se minhas imagens estão importadas dentro de um pacote no projeto, vc quer dizer em criar uma pasta no projeto, apenas com as imagens que vou utilizar?
se é isso, ja tenho…
Respondendo a quarta mensagem de alexandref93:
seu erro esta na extenção do arquivo, pois o caminho da imagem não pode estar assim: i[/i]
e sim, desta forma: i[/i] , pois não existe contra-barra antes do ínicio do caminho da imagem.
alexandref93
entanglement:
Tio, você é um fanfarrão. Como é que esse programa está rodando? Que eu saiba, em Java não dá para começar uma expressão com um ponto. Veja como é que estão o seu “getClass()”. Por que é que há um ponto antes do getClass()?
Você provavelmente deve estar rodando uma versão antiga. Limpe o seu projeto, rode de novo, tire todos os erros de compilação, e veja que o seu problema não é exatamente o nome do arquivo.
fanfarrão??? oO, tah tirei o ponto antes do getClass xD, o projeto não possui nenhum erro, o único erro está acusando é no “setFrameIcon” e no nome do arquivo!!!
alexandref93
marcobiscaro2112:
Além disso, uma sugestão: para usar o LookAndFeel do sistema faça:
Devo lembrar que o arquivo de imagem deve estar junto com as classes carregadas no classpath, sendo que colocar a imagem no arquivo jar a ser executado deve bastar.
Inté.
alexandref93
KWill:
No AWT, no código da minha biblioteca SAW-Terminal, uso algo parecido com isso:
Devo lembrar que o arquivo de imagem deve estar junto com as classes carregadas no classpath, sendo que colocar a imagem no arquivo jar a ser executado deve bastar.
Inté.
o problema ainda continua:
importjavax.imageio.ImageIO;importjavax.swing.JDesktopPane;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;@SuppressWarnings("serial")publicclassPainelFrameextendsjavax.swing.JFrame{publicPainelFrame(){initComponents();setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);setExtendedState(MAXIMIZED_BOTH);setTitle("Fox Home Vídeo");this.setIconImage(ImageIO.read(this.getClass().getResourceAsStream("/classpath/dialoglogo128x128.jpg")));}privatevoidinitComponents(){JMenuBarbarra=newjavax.swing.JMenuBar();JMenumanutencaoMenu=newjavax.swing.JMenu("Manutenção");barra.add(manutencaoMenu);JMenuItemcadastroclienteMenu=newjavax.swing.JMenuItem("Cadastro de cliente");manutencaoMenu.add(cadastroclienteMenu);setJMenuBar(barra);JDesktopPanelc=newjavax.swing.JDesktopPane();add(lc);}@SuppressWarnings("unused")privatevoidcadastroclienteMenuActionPerformed(java.awt.event.ActionEventevt){newCadastroClienteFrame().setVisible(true);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newPainelFrame().setVisible(true);}});}}
caraca, é complicado trocar ícone hei, mais vou conseguir!!