private Mercadoria loadMercadoriaFromPanel() {
		String nome = null;
		if (!tfNome.getText().trim().isEmpty()) {
			nome = tfNome.getText().trim();
		}
		
		String descricao = null;
		if (!tfDescricao.getText().trim().isEmpty()) {
			descricao = tfDescricao.getText().trim();
		}
		
		Integer quantidade = null;
		try {
			if (!tfQuantidade.getText().trim().isEmpty())
			quantidade = Integer.valueOf(tfQuantidade.getText());
		} catch (NumberFormatException nex) {
			throw new RuntimeException("Erro durante a conversão do campo quantidade (Integer).\nConteudo inválido!");
		}
		
		Double preco = null;
		try {
			if (!tfPreco.getText().trim().isEmpty()) {
				preco = Mercadoria.formatStringToPreco(tfPreco.getText());
			}
		} catch (ParseException nex) {
			throw new RuntimeException("Erro durante a conversão do campo preço (Double).\nConteudo inválido!");
		}
		
		Integer id = null;
		try {
			id = Integer.parseInt(tfId.getText());
		} catch (Exception nex) {}
		
		Integer version = null;
		try {
			version = Integer.parseInt(tfVersion.getText());
		} catch (Exception nex) {}
		
		return new Mercadoria(id, nome, descricao, quantidade, preco, version);
	}