Problemas com UNDO e REDO!

1 resposta
J

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.<em>;

import java.awt.</em>;

import java.awt.event.<em>;

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.</em>;

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]

1 Resposta

J

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

[quote=jhooon]
Segue o Código:

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);
  }
}
Criado 5 de maio de 2009
Ultima resposta 5 de mai. de 2009
Respostas 1
Participantes 1