Problemas com UNDO e REDO!

To tentando implementar um codigo que tem a opção de fazer UNDO e REDO. Precisava que ele ocorrece em um JFRAME o undo seria realizado com um botão que eu chamarei de desfazer e o redo com outro que chamarei de refazer. Só que no método addUndoableEditListener e removeUndoableEditListener o copilador joga um esse erros >>> illegal start of expression e ‘;’ expected.

Só que eu não estou vendo sentido nesses erros já que estou apenas sobrepondo esses dois metodos de Class UndoableEditSupport

Segue o Código:

[list]import javax.swing.undo.;
import java.awt.
;
import java.awt.event.;
import javax.swing.event.UndoableEditListener;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
import javax.swing.undo.StateEdit;
import javax.swing.undo.StateEditable;
import javax.swing.undo.UndoManager;
import javax.swing.undo.UndoableEditSupport;
import javax.swing.
;

class Main implements ActionListener, StateEditable {
public static void main(String[] _) throws Exception {

JFrame frame = new JFrame("Aula dia 03 abril 2009");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

final UndoManager undo = new UndoManager();
Reprodutor rep =  new Reprodutor();

Grafico graf = new Grafico(rep);

Paleta paleta =  new Paleta(graf);

Container c = frame.getContentPane();

/* frame.addUndoableEditListener(new UndoableEditListener() {
public void undoableEditHappened(UndoableEditEvent evt) {
undo.addEdit(evt.getEdit());
}
});*/

  public void addUndoableEditListener( UndoableEditListener l) {
undoableEditSupport.addUndoableEditListener(l);

}

public void removeUndoableEditListener(UndoableEditListener undoableEditListener) {
undoableEditSupport.removeUndoableEditListener(undoableEditListener);
}

//Container c = frame.getContentPane();
c.add(paleta,BorderLayout.WEST);
c.add(rep,BorderLayout.CENTER);



JMenuBar barra;
frame.setJMenuBar(barra = new JMenuBar());

JMenu guia;
JMenuItem item;

guia = new JMenu("Editar");
barra.add(guia);

item = new JMenuItem("Limpar");
guia.add(item);
item.addActionListener(rep);


guia = new JMenu("Arquivo");
barra.add(guia);

item = new JMenuItem("Sair");
guia.add(item);
item.addActionListener(new Main());





frame.setVisible(true);
frame.pack();

//rep.addFig(new Teste());


FigRetangulo r = new FigRetangulo(new Ponto(5,5),new Ponto(60,80));
rep.addFig(r);
rep.repaint();

FigCirculo s = new FigCirculo(new Ponto(50,50),40);

rep.addFig(s);
rep.repaint();

}

public void actionPerformed(ActionEvent e) {
System.exit(0);
}

}//

class Teste implements Reproduzivel {
public void reproduzir(Graphics g) {
g.drawOval(20,30,50,50);
}
}

[/list]

CLIQUEI EM ENVIAR SER TER POSTO “CODE” NO MEU CODIGO" rsrsrsrrs

[quote=jhooon]
Segue o Código:

[code]import javax.swing.undo.;
import java.awt.
;
import java.awt.event.;
import javax.swing.event.UndoableEditListener;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;
import javax.swing.undo.StateEdit;
import javax.swing.undo.StateEditable;
import javax.swing.undo.UndoManager;
import javax.swing.undo.UndoableEditSupport;
import javax.swing.
;

class Main implements ActionListener, StateEditable {
public static void main(String[] _) throws Exception {

JFrame frame = new JFrame("Aula dia 03 abril 2009");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

final UndoManager undo = new UndoManager();
Reprodutor rep =  new Reprodutor();

Grafico graf = new Grafico(rep);

Paleta paleta =  new Paleta(graf);

Container c = frame.getContentPane();

/* frame.addUndoableEditListener(new UndoableEditListener() {
public void undoableEditHappened(UndoableEditEvent evt) {
undo.addEdit(evt.getEdit());
}
});*/

  public void addUndoableEditListener( UndoableEditListener l) {
undoableEditSupport.addUndoableEditListener(l);

}

public void removeUndoableEditListener(UndoableEditListener undoableEditListener) {
undoableEditSupport.removeUndoableEditListener(undoableEditListener);
}

//Container c = frame.getContentPane();
c.add(paleta,BorderLayout.WEST);
c.add(rep,BorderLayout.CENTER);



JMenuBar barra;
frame.setJMenuBar(barra = new JMenuBar());

JMenu guia;
JMenuItem item;

guia = new JMenu("Editar");
barra.add(guia);

item = new JMenuItem("Limpar");
guia.add(item);
item.addActionListener(rep);


guia = new JMenu("Arquivo");
barra.add(guia);

item = new JMenuItem("Sair");
guia.add(item);
item.addActionListener(new Main());





frame.setVisible(true);
frame.pack();

//rep.addFig(new Teste());


FigRetangulo r = new FigRetangulo(new Ponto(5,5),new Ponto(60,80));
rep.addFig(r);
rep.repaint();

FigCirculo s = new FigCirculo(new Ponto(50,50),40);

rep.addFig(s);
rep.repaint();

}

public void actionPerformed(ActionEvent e) {
System.exit(0);
}

}//

class Teste implements Reproduzivel {
public void reproduzir(Graphics g) {
g.drawOval(20,30,50,50);
}
}

[/code]