| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2005 16:31:15
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
Oi pessoal ,blz??
Eu tenho minha classe normal (que extende JFrame)... dentro desse JFrame eu tenho um JPanel... dentro do JPanel eu tenho um JLabel que contém uma imagem. Até aí, blz... o negócio agora, é que quero fazer uma atualização na interface, trocando a imagem toda vez que o usuário clica num botão... estou
fazendo da seguinte forma:
updateBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
imageLabel.setIcon(new ImageIcon( path ));
EditPatternUI.this.repaint();
}
}
);
Só que NADA ACONTECE! A imagem no JLabel permanece a mesma. Como devo fazer??
obrigado por quem puder ajudar
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2005 16:51:39
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Vc sobescreveu o paintComponent?Alexandre, normalmente eu faço + ou - assim:
E na hora de pegá-la:
Funciona 100% .
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2005 17:02:01
|
reizin
JavaTeenager
![[Avatar]](/images/avatar/31857b449c407203749ae32dd0e7d64a.jpg)
Membro desde: 12/05/2003 01:15:34
Mensagens: 178
Offline
|
Cara sempre fiz assim e sempre funcionou
|
-------------------------
http://www.thiagoreispontes.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2005 17:02:31
|
reizin
JavaTeenager
![[Avatar]](/images/avatar/31857b449c407203749ae32dd0e7d64a.jpg)
Membro desde: 12/05/2003 01:15:34
Mensagens: 178
Offline
|
.
This message was edited 1 time. Last update was at 05/08/2005 17:10:40
|
-------------------------
http://www.thiagoreispontes.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2005 17:42:18
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
reizin, quando vc troca imagens vc pode ter q dar um "resize" em cada uma delas para caberem dentro da área delimitada para o JLabel que irá exibí-la(elas podem ter tam muito distintos tb).Para isso tem q se usar getScaledInstance() da forma como mostrei.
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/08/2005 11:19:40
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
Pessoal, obrigado pela ajuda, mas nada disso funcionou... a imagem no JLabel continua a mesma
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/08/2005 17:07:29
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Epa!!!Como não funcionou???Bom, montei um exemplo rápido aqui, e de quebra vc ainda ganha como personalizar um JFileChooser...
veja as classes:
E finalmente a classe para visualizar:
OBS.:Livre adaptação minha do exemplo da sun de JFileChooser2.java
Nota:Tô bonzinho hoje!
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2005 09:30:31
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
Amigo, blz??? Valeu pela ajuda... mas seu código está muito grande.. entao achei melhor mandar o meu p/ vc dar uma olhada... é coisa rápida.
O negócio é que ele não muda a imagem no JLabel após eu clicar no botão.... um abraço
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class EditPatternUI extends JFrame {
private Container c;
private JLabel imageLabel;
private JButton updateBtn;
private String path;
private Icon imageDiagram;
public EditPatternUI() {
super("Edit Analysis Pattern");
c = getContentPane();
c.setLayout(null);
File fileDirAux = new File("");
path = fileDirAux.getAbsolutePath();
imageDiagram = new ImageIcon( path + "\\temp.gif");
System.out.println("veja: " + path);
imageLabel = new JLabel(imageDiagram);
JPanel panel1 = new JPanel();
// adiciona imagem ao painel1
panel1.add(imageLabel);
// esse botao dispara o evento de trocar a imagem
updateBtn = new JButton("Update Image");
updateBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ImageIcon ig = new ImageIcon(path +
"\\outra.gif"); // pega a outra imagem do mesmo diretorio
imageDiagram=ig;
imageLabel.setIcon(ig);
imageLabel.repaint();
EditPatternUI.this.repaint();
}
}
);
c.add(updateBtn);
updateBtn.setBounds(310, 580, 150, 25);
// não há necessidade de redimensionamento da imagem, se ela for maior, aparece a barra de rolagem
JScrollPane scroller = new JScrollPane(panel1);
scroller.setBounds(10, 60, 700, 500);
c.add(scroller, BorderLayout.CENTER);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
setResizable(false);
setSize(1000, 725);
setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EditPatternUI app = new EditPatternUI();
}
}
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/08/2005 12:24:30
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
Cara, esse seu código funciona, nem precisa dessa linha:
imageLabel.repaint(); pq vc pôs aquela con referência a classe.
Algumas dicas:não use null layout.Apresenta diferentes comportamentos em diferentes sistemas.
Vc extende JFrame, esqueça windowclosing e use apenas:
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/08/2005 17:54:27
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
Valeu pelas dicas! Não é que esse código q te mandei funciona mesmo... o estranho é q na minha aplicação não está funcionando.. nao entendo pq...
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2005 15:09:07
|
Alexandre Gazola
JavaTeenager
![[Avatar]](/images/avatar/07845cd9aefa6cde3f8926d25138a3a2.jpg)
Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline
|
cara, achei o problema! é que em meu projeto eu estava utilizando o mesmo nome de figura... antes de fazer a atualização, eu gerava uma outra figura em cima da anterior (com o mesmo nome) e na hora de atualizar a figura, ele nao atualizava pq estava com o mesmo nome... sabe como posso forçar ele a fazer a atualização??
|
Alexandre Gazola
Blog: http://alexandregazola.wordpress.com
"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)
"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33) |
|
|
 |
|
|