protected Mercadoria loadMercadoriaFromPanel() {
		String msg = validador();
		if (!msg.isEmpty()) {
			throw new RuntimeException("Informe o(s) campo(s): "+msg);
		}
		
		String nome = tfNome.getText().trim();
		String descricao = tfDescricao.getText().trim();
		
		if (nome.length() < 5) {
			throw new RuntimeException("O nome deve conter no mínimo 5 caracteres!");
		}
		
		Integer quantidade = null;
		try {
			quantidade = Integer.valueOf(tfQuantidade.getText());
		} catch (NumberFormatException nex) {
			throw new RuntimeException("Erro durante a conversão do campo quantidade (Integer).\nConteudo inválido!");
		}
		if (quantidade < 1) {
			throw new RuntimeException("O valor mínimo da quantidade deve ser 1!");
		}
		
		Double preco = null;
		try {
			preco = Mercadoria.formatStringToPreco(tfPreco.getText());
		} catch (ParseException nex) {
			throw new RuntimeException("Erro durante a conversão do campo preço (Double).\nConteudo inválido!");
		}
		if (preco < 1) {
			throw new RuntimeException("O valor mínimo do preço deve ser 1!");
		}
		
		return new Mercadoria(null, nome, descricao, quantidade, preco);
	}