JFormattedTextField e MaskFormatter

Como faz para o JFormattedTextField e o MaskFormatter funcionarem? Os que implementei não computam os dados digitados pelo usuário final de jeito nenhum! Meu código tá assim:

[code] JFrame janela=new JFrame();
janela.setVisible(true);

	JButton botaoSalvar=new JButton("Salvar");
	JButton botaoCancelar=new JButton("Cancelar");
	botaoSalvar.setBounds(0, 390, 80, 30);
	botaoCancelar.setBounds(85, 390, 90, 30);

	JLabel marcadorNome=new JLabel("Nome");
	marcadorNome.setBounds(0, 0,150,20);
	marcadorNome.setForeground(Color.WHITE);
	try
	{
		MaskFormatter mascaraNome=new MaskFormatter("UUUUU");
		mascaraNome.setValidCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
		mascaraNome.setValueContainsLiteralCharacters(true);
		mascaraNome.setPlaceholderCharacter('_');

		JFormattedTextField nomeJFormatted=new JFormattedTextField(mascaraNome);
		String nome=nomeJFormatted.getText();
		nomeJFormatted.setBounds(150, 0,150,20);

		Produto produto=new Produto(nome);
		
		ActionListener botaoSalvarCancelar=new ActionListener()
		{
			public void actionPerformed(ActionEvent evento)
			{
				if(evento.getSource()==botaoSalvar)
				{						
					if(nome==null || nome.equals("") || nome.equals("_____"))
					{
						JOptionPane.showMessageDialog(null, "VAZIO!",
								"MÓDULO  CADASTRO",JOptionPane.ERROR_MESSAGE);

						JOptionPane.showMessageDialog(null, produto.imprimir(),
								"MÓDULO  CADASTRO",JOptionPane.INFORMATION_MESSAGE);
										
						nomeJFormatted.setText("");
					}

					else
					{
						array.inserir(produto);// Insere o produto no array
						
						JOptionPane.showMessageDialog(null, "PREENCHIDA!",
								"MÓDULO  CADASTRO",JOptionPane.INFORMATION_MESSAGE);		
						
						JOptionPane.showMessageDialog(null, produto.imprimir(),
								"MÓDULO  CADASTRO",JOptionPane.INFORMATION_MESSAGE);

						nomeJFormatted.setText("");
					}
				}

				if(evento.getSource()==botaoCancelar)
				{
					janela.dispose();
				}
			}
		};

		botaoSalvar.addActionListener(botaoSalvarCancelar);
		botaoCancelar.addActionListener(botaoSalvarCancelar);

		janela.getContentPane().add(marcadorNome);
		janela.getContentPane().add(nomeJFormatted);
		janela.getContentPane().add(botaoSalvar);
		janela.getContentPane().add(botaoCancelar);

		janela.setBounds(200,150,800,500);
		janela.setResizable(true);
		janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

	}
	catch(ParseException excessao)
	{
		JOptionPane.showMessageDialog(null, excessao.getMessage(),
				"MÓDULO  CADASTRO",JOptionPane.ERROR_MESSAGE);
	}[/code]

[b]Simplesmente [color=red]produto.imprimir()[/color] sempre retorna a String da mascara e o JOptionPane só exibe [color=red]_____[/color]. E se eu usar o getValue() não é impresso nada no JOptionPane. Alguém sabe dizer o que está faltando para ser computado os dados digitados pelo usuário nos campos?

Grata e aguardando resposta.[/b]

Olá amigo

o que tem dentro de produto.imprimir()? você poderia postar?.

Silvio Guedes