Há um tempo estava com o problema no código que estava dando erro EWT location null
, consegui resolver seguindo uma orientação de trocar o GetResource para o GetResourceAsStream e a interface começou ser executada, porém os icones sumiram da interface
Aqui ta de como ta o código da imagem
jLabelProjectsAdd.setIcon(new javax.swing.ImageIcon(String.valueOf(getClass().getResourceAsStream("add.png"))));
`
Em qual local no projeto estão os arquivos de imagens?
Não faz sentido fazer String.valueoOf
de um InputStream
.
Você precisa obter o objeto Image
lendo o InputStream
:
InputStream input = getClass().getResourceAsStream("add.png");
BufferedImage image = ImageIO.read(input);
jLabelProjectsAdd.setIcon(new ImageIcon(image));
Estão na pasta imagens no package resource e em outra package no src, eu tinha linkado tudo certinho nesse trecho de código aqui
label.setIcon(new javax.swing.ImageIcon(String.valueOf(getClass().
getResourceAsStream("/imagens" + buttonType + ".png"))));
e ainda fiz outra tentativa
label.setIcon(new javax.swing.ImageIcon(getClass().
getResource("/imagens/.png")));
label.setIcon(new javax.swing.ImageIcon(getClass().
getResource("/resources/imagens/.png")));
Mas os icones não aparecem na coluna que deveria aparecer que seria de editar e excluir
Porém, quando eu colo o nome da imagem especifica. ela aparece em ambas colunas, queria colocar uma em cada coluna, aff
Fiz e n funcionou reparei tbm que quando coloca o buttonType, a interface fica bugada, mas sem buttontype aparece a unica imagem em ambas colunas o que tbm não era pra acontecer
Como já foi dito, não faz sentido usar String.valueOf
em um InputStream
, não insista.
Acredito que o nome do seu arquivo está errado, provavelmente falta um "/"
antes do buttonType
.
Usar o getResource
só faz sentido para acessar o sistema de arquivos, a partir do momento que seus resources estiverem dentro do JAR da aplicação, o getResource
não vai funcionar.
Acredito que o nome do seu arquivo está errado, o seu arquivo se chama ".png"
?.
Tem que usar o getResourceAsStream
, assim:
InputStream input = getClass().getResourceAsStream("/imagens/add.png");
BufferedImage image = ImageIO.read(input);
jLabelProjectsAdd.setIcon(new ImageIcon(image));
Tentei mas se for uma table como faz? substitui o JLabelProjectsAdd
por JLabelTasks
e meio que não funcionou, queria de alguma forma ver algum código que permite colocar o icone do botão edit
em uma determinada coluna da tabela e o botão delete
também
Para renderizar imagens numa JTable
você precisa especializar um TableCellRenderer
.
Mas primeiro tem que resolver a questão de mostrar imagens nos seus JLabel
.