Olá pessoal, apesar de ser um assunto com vários tópicos já postados. Me deparei com um problema:
Estou usando um JFilechooser para pegar uma imagem (usei o código do site da sun). A imagem selecionada pelo ficheiro será amostrada em um JinternalFrame (q esta em um JdesktopPane) que posteriormente aplicarei operações na imagem usando a JAI.
A pergunta é:
O que usar no JinternalFrame para amostrar a imagem? e como fazer funcionar?Até o momento tentei usar um Jlabel (em um Jpane), Jscroollpane… mas não conseguir fazer funcionar.
Estou usando o NetBeans.
Tenho um botão chamado “Carregar imagem” (no menuBar) que chama o seguinte procedimento:
Chamando o metodo para carregar imagem (Jfilechooser)
private void jMenuArqCarregarImagemActionPerformed(java.awt.event.ActionEvent evt) {
new Inicio().actionPerformed(evt);
}
Onde “Inicio” é o meu JFrame (principal) e também o nome dado a minha classe.
Metodo para carregar a imagem, este metodo faz referencia para outras classes como de filtro por exemplo.
public void actionPerformed(ActionEvent e) {
//Set up the file chooser.
if (fc == null) {
fc = new JFileChooser();
fc.addChoosableFileFilter(new ImageFilter());
fc.setAcceptAllFileFilterUsed(false);
fc.setFileView(new ImageFileView());
fc.setAccessory(new ImagePreview(fc));
}
//Show it.
int returnVal = fc.showDialog(this, "Carregar imagem");
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
Image imagem = Toolkit.getDefaultToolkit().getImage(file.getAbsolutePath());
ImageIcon icon = new ImageIcon(imagem);
jLabelImagem = new JLabel(icon);
jLabelImagem.setSize(new Dimension(icon.getIconWidth(), icon.getIconHeight()));
jPanel1.add(jLabelImagem); /*<--- (Achei q isso funciona-se)*/
jInternalFrame1.setVisible(true);
}
}
Estas sao as variáveis q o netbeans colocou no código:
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JInternalFrame jInternalFrame1;
private javax.swing.JLabel jLabelImagem;
private javax.swing.JMenu jMenuArq;
private javax.swing.JMenuItem jMenuArqCarregarImagem;
private javax.swing.JMenuItem jMenuArqSair;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1;
Alguem me Ajude ??? Qualquer tentativa será bem vinda. Obrigado pessoal.