Ola. a todos…
Bom to com uma duvida aqui que e a seguinte eu tenho varios JLabel na minha aplicação e o caminho da imagem deles eu carrego da minha database mysql
quando eu crio ele a primeira vez eu coloco uma imagem base.
int tamanhoCapa = screenSize.width / 4;
Image sCapa = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/painelimagem/imagens/semcapa.png"));
Image semCapa = sCapa.getScaledInstance(tamanhoCapa, tamanhoCapa, Image.SCALE_DEFAULT);
jLCapa1 = new JLabel(new ImageIcon(semCapa));
jLCapa1.setBorder(bordaCapa);
jLCapa1.setOpaque(true);
jLCapa1.setBackground(new Color(255, 0, 0));
jPanel1.add(jLCapa1);
ate aqui blz ele cria da o tamanho tudo certinho agora a unica maneira q eu consegui foi fazendo assim:
int tamanhoCapa = screenSize.width / 4;
novaImagem = array[0][1];
if(novaImagem != null){
Image nCapa = Toolkit.getDefaultToolkit().getImage(novaImagem);
Image novaCapa = nCapa.getScaledInstance(tamanhoCapa, tamanhoCapa, Image.SCALE_DEFAULT);
jPanel1.remove(jLCapa1); // REMOVE A JLabel ORIGINAL
jLCapa1 = new JLabel(new ImageIcon(novaCapa));
jLCapa1.setBorder(null);
jLCapa1.setOpaque(false);
jLCapa1.setBackground(new Color(255, 0, 0));
jPanel1.add(jLCapa1);
}
inves de ter q ficar removendo e recriando a JLabel toda a vez, alguem saberia se da pra so dar um refresh na imagem dela eu so indico o novo caminho e atualiza a imagem em tempo de execução?
pq o meu problema e o seguinte da forma q eu fiz ate funciona mais o que acontece e que e o seguinte o jPanel1 esta em GridLayout 2,4 e quando eu atualizo a imagem removendo o jLabel1 a posição deles move, quando eu recrio ele ele vai la pro final no lugar do jLabel8 e eu queria q ele ficasse no mesmo lugar
JLabel iniciando pela primeira vez (deveria sempre ficar assim)
[1][2][3][4]
[5][6][7][8]
Removendo um JLabel
[2][3][4][5]
[6][7][8]
Adicionando um novo JLabel
[2][3][4][5]
[6][7][8][1] <- aqui ta meu problema eu nao queria isso funciona mais nao da forma que eu queria.
antes q alquem fale "atualize todos…" ja explico que nem sempre serao todos atualizados
se alguem puder me dar um help eu agradeço …