[RESOLVIDO] Janela de Save

8 respostas
java
Rodrigo_Prado1

Bom dia
Estou com um problema na hora de salvar um arquivo, ele não salva o nome e nem o local que eu mandei salvar, ele sempre joga na pasta raiz do projeto

Segue o método abaixo

public void codigoBarras()
	{
		String codigo = ftCodigo.getText();
		
		try
		{
			Barcode barcode = BarcodeFactory.createCode128(codigo);
			barcode.setBarHeight(60);
			barcode.setBarWidth(2);
			
			File imageFile = new File("Produto " + codigo + ".png");
			try
			{
				// Criando objeto
				JFileChooser chooser = new JFileChooser();
				
				// Seta para selecionar apenas arquivos
				chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				
				// Desabilita todos os tipos de arquivo
				chooser.setAcceptAllFileFilterUsed(false);
				
				// Filtra por extensão
				chooser.setFileFilter(new FileFilter()
				{
					
					@Override
					public String getDescription()
					{
						return "Extensão PNG";
					}
					
					@Override
					public boolean accept(File f)
					{
						return f.getName().toLowerCase().endsWith("png");
					}
				});
				
				// Mostra a janela de save
				int acao = chooser.showSaveDialog(null);
				
				// Executa a ação de salvar
				if (acao == JFileChooser.APPROVE_OPTION)
				{
					BarcodeImageHandler.savePNG(barcode, imageFile);
				}
			}
			catch (OutputException e)
			{
				System.out.println("isso não deveria acontecer");
				e.printStackTrace();
			}
		}
		catch (BarcodeException e)
		{
			JOptionPane.showMessageDialog(this,
					"Selecione algo no estoque para gerar o código de barras",
					"Aviso", JOptionPane.WARNING_MESSAGE);
		}
	}

8 Respostas

D

Faltou o chooser.getSelectedFile();

if (acao == JFileChooser.APPROVE_OPTION)
{
    imageFile = chooser.getSelectedFile();
    BarcodeImageHandler.savePNG(barcode, imageFile);
Rodrigo_Prado1

Funcionou agora, valeu

Rodrigo_Prado1

Só uma ultima duvida, ele salva o arquivo, no formato File, eu quero png, e ele só salva quando no nome eu coloco o “.png”, tu sabe como eu posso resolver isso? eu to fazendo algo errado no método que não entendi ainda

D

Converte em String, verifica se termina em png e atualiza com png se necessário:

imageFile = chooser.getSelectedFile();
String imageFileString = imageFile.toString();
if (imageFileString.toLowerCase().endsWith("png") == false) {
    imageFileString = imageFileString + ".png";
    imageFile = new File(imageFileString);
}
Rodrigo_Prado1

não funcionou =/
acho que fiz algo muito errado

// Executa a ação de salvar
				if (acao == JFileChooser.APPROVE_OPTION)
				{
					imageFile = chooser.getSelectedFile();
					BarcodeImageHandler.savePNG(barcode, imageFile);
					
					String imageFileString = imageFile.toString();
					if (imageFileString.toLowerCase().endsWith("png") == false)
					{
						imageFileString = imageFileString + ".png";
						imageFile = new File(imageFileString);
					}
					
				}
			}
D
if (acao == JFileChooser.APPROVE_OPTION)
{
	imageFile = chooser.getSelectedFile();
	String imageFileString = imageFile.toString();
	if (imageFileString.toLowerCase().endsWith("png") == false) {
	    imageFileString = imageFileString + ".png";
	    imageFile = new File(imageFileString);
	}
	BarcodeImageHandler.savePNG(barcode, imageFile);
}
Rodrigo_Prado1

disfarça kkkkk, noobice minha
agora entendi,

Rodrigo_Prado1

funcionando tudo certinho agora, valeu

Criado 30 de janeiro de 2017
Ultima resposta 30 de jan. de 2017
Respostas 8
Participantes 2