JFileChooser e ImageIcon

1 resposta
F

Então pessoal, estou com um problema. Estou desenvolvendo um sisteminha de gerenciamento de albums e tal. Estou num pedaço no qual eu queria que funcionasse dessa forma.
O usuário através do filechooser seleciona uma imagem, e depois de selecionado eu queria jogar o arquivo selecionado num JDialog, gerando um ImageIcon para o arquivo selecionado. A minha ideia é mais ou menos assim e com esses componentes, mas pode ser que nao seja um ImageIcon que eu tenha que gerar. O meu código ja seleciona através do filechooser o arquivo, agora preciso da ajuda de alguem como posso através desse arquivo(imagem,foto) gerar um icone dessa imagem que ficara desposto no meu JDialog, é como se você estivesse dentro de 1 album e ali estaria todos os icones das imagems do album. Segue trecho do código.

public void actionPerformed(ActionEvent e) {
		Opcao opcao = Opcao.valueOf((e.getActionCommand()));
		File file = null;
		try {
			switch (opcao) {
			case INSERIR_IMAGEM:
			
					chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
					int res = chooser.showOpenDialog(null);
					if (res == JFileChooser.APPROVE_OPTION) {
						file = chooser.getSelectedFile();
						JOptionPane.showMessageDialog(null,
								"Arquivo escolhido com sucesso");
					
					String local = JOptionPane.showInputDialog(null,
							"Aonde foi o local desta foto?");
					String pessoa = JOptionPane.showInputDialog(null,
							"Com quem você(s) estava(m)?");
					String evento = JOptionPane.showInputDialog(null,
							"O que você(s) faziam lá?");
					Imagem foto = new Imagem( local, pessoa, evento, file);
					
					
				
				}
				break;

1 Resposta

yurifw

seguinte cara, se vc ja está com o jFileChooser funcionando, vou supor q vc ja tá pegando a imagem e jogando pra uma variavel sem problemas, então o proximo passo é criar o JDialog, pra isso vc faz o seguinte:
1 - Monta o seu JDialog como se fosse um JFrame normal, se estiver usando o netbeans por exemplo, clica com o botão direito no projeto e vai em novo > Formulario JFrame… pra criar o JDialog vc usa os mesmos componentes do JFrame, é bem simples mesmo
2 - quando seu JDialog estiver do jeito q vc quer, mude e extend dele, ao inves de colocar

coloque*:

3 - como vc quer q ele ja abra com uma imagem, eu recomendo q faça o seguinte:

coloque como parametro do metodo construtor uma variavel ImageIcon, e manda ele setar o icone de alguma Jlabel do seu JDialog com esse parametro
4 - pra chamar o JDialog:

SeuJDialog dialog =new SeuJDialog(suaImageIcon);
        dialog.setModal(true);        //essa linha serve pra travar o usuario no JDialog e impedir q ele mecha em outras telas enquanto o JDialog estiver aberto
        dialog.setVisible(true);

*qdo vc fizer isso, pode ser q de um erro assim: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE,HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE
isso acontece pq como o erro mesmo te informa, a opção de qdo o usuario clicar no botao de fechar npode ser de sair do programa, tem q ser “fazer nada”, “esconder o JDialog” ou “Descartar o JDialog” isso vc resolve mexendo na propriedade do JFrame

Criado 19 de maio de 2012
Ultima resposta 20 de mai. de 2012
Respostas 1
Participantes 2