//import the packages for using the classes in them into the program
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.undo.*;
class RedoAction extends AbstractAction{
Notepad notepad;
public RedoAction(Notepad notepad){
super("Redo");
putValue( Action.SMALL_ICON,
new ImageIcon(this.getClass().getResource("images/redo.gif")));
setEnabled(false);
this.notepad = notepad;
}
public void actionPerformed(ActionEvent e){
try{
notepad.undo.redo();
}
catch (CannotRedoException ex){
System.out.println("Unable to redo: " + ex);
ex.printStackTrace();
}
update();
notepad.undoAction.update();
}
protected void update(){
if(notepad.undo.canRedo()){
setEnabled(true);
putValue("Redo", notepad.undo.getRedoPresentationName());
}
else{
setEnabled(false);
putValue(Action.NAME, "Redo");
}
}
}