guis em java

CyberOps

I'm cool cuz I Fold
Boas, tou aqui com um prob.

public void actionPerformed(ActionEvent event) {
if ("Abrir".equals(event.getActionCommand())) {
//Update the icon to display the new phase.
JFileChooser fileChooser = new JFileChooser(".");
fileChooser.setDialogTitle("Escolha o ficheiro que pretende abrir");
//fileChooser.setFileFilter(new HTMLFilter("HTML"));
if(fileChooser.showOpenDialog(this) != JFileChooser.APPROVE_OPTION)return;
ficheiro = fileChooser.getSelectedFile();
if(ficheiro == null)return;
pathImagem = ficheiro.getAbsolutePath();
if(!pathImagem.endsWith(".jpg") && !pathImagem.endsWith(".tif") && !pathImagem.endsWith(".gif")){//mensagem de erro
JOptionPane.showMessageDialog(this, "O ficheiro fornecido não é válido.\nForneça apenas ficheiros com extensão .jpg, .tif ou .gif", "Erro, extensão do ficheiro inválida", JOptionPane.ERROR_MESSAGE);
return;
}

//leftPanel.removeAll();
//leftPanel.r
picture= new ScrollablePicture(new ImageIcon("youngdad.jpg"), 10);
leftPictureScrollPane = new JScrollPane(picture);
leftPictureScrollPane.setPreferredSize(new Dimension(400, 400));
leftPictureScrollPane.setViewportBorder(
BorderFactory.createLineBorder(Color.black));

leftPanel.add(leftPictureScrollPane);
//img = createImageIcon(ficheiro.getAbsolutePath());
//imageLeftPanel.setIcon(new ImageIcon(pathImagem));
System.out.println(pathImagem);
}

isto não me esta a abrir a mostrar a imagem no JPanel left Panel quando carrego no botao. o metodo acima é para tratar dos eventos mais concretamente ao botao "abrir"

picture= new ScrollablePicture(new ImageIcon("youngdad.jpg"), 10); -> esta imagem existe, nem com o pathImagem funca.

semttulojt2.jpg


alguem me pode dar uma ajudinha
 
Última edição:
chama o panel.repaint() ou panel.updateUI() é capaz de resolver..
mas tb podes usar um jlabel e fazer um label.seticon(new imageicon(path))
 
chama o panel.repaint() ou panel.updateUI() é capaz de resolver..
mas tb podes usar um jlabel e fazer um label.seticon(new imageicon(path))

neps, n funca, nem com o seticon usando uma jlabel.

imageLeftPanel.setIcon(new ImageIcon(pathImagem));
leftPictureScrollPane = new JScrollPane(imageLeftPanel);
leftPictureScrollPane.setPreferredSize(new Dimension(400, 400));
leftPictureScrollPane.setViewportBorder(
BorderFactory.createLineBorder(Color.black));
leftPanel.add(leftPictureScrollPane);
leftPanel.repaint();

mais alguma sugestao?

edit: parece q ja descobri, o problemas era tar a correr outra vez este codigo:

leftPictureScrollPane = new JScrollPane(imageLeftPanel);
leftPictureScrollPane.setPreferredSize(new Dimension(400, 400));
leftPictureScrollPane.setViewportBorder(
BorderFactory.createLineBorder(Color.black));

so preciso mesmo de fazer o seticon. tks acrobat pela tua resposta rapida
 
Back
Topo