Guest User

Untitled

a guest
Sep 22nd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.GridLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5.  
  6. import javax.swing.JButton;
  7. import javax.swing.JFrame;
  8. import javax.swing.JPanel;
  9. import javax.swing.JScrollPane;
  10. import javax.swing.JTextArea;
  11. import javax.swing.event.UndoableEditEvent;
  12. import javax.swing.event.UndoableEditListener;
  13. import javax.swing.undo.UndoManager;
  14.  
  15. public class UndoWindow extends JFrame {
  16. private JTextArea textArea = new JTextArea();
  17. private UndoManager undoManager = new UndoManager();
  18. private JButton undo = new JButton("<");
  19. private JButton redo = new JButton(">");
  20.  
  21. public UndoWindow() {
  22. super("Window Undo");
  23.  
  24. JPanel button = new JPanel(new GridLayout());
  25. button.add(undo);
  26. button.add(redo);
  27. getContentPane().add(button, BorderLayout.SOUTH);
  28. getContentPane().add(new JScrollPane(textArea), BorderLayout.CENTER);
  29.  
  30. textArea.getDocument().addUndoableEditListener(
  31. new UndoableEditListener() {
  32. public void undoableEditHappened(UndoableEditEvent e) {
  33. undoManager.addEdit(e.getEdit());
  34. update();
  35. }
  36. });
  37.  
  38. undo.addActionListener(new ActionListener() {
  39. public void actionPerformed(ActionEvent e) {
  40. undoManager.undo();
  41. update();
  42. }
  43. });
  44.  
  45. redo.addActionListener(new ActionListener() {
  46. public void actionPerformed(ActionEvent e) {
  47. undoManager.redo();
  48. update();
  49. }
  50. });
  51.  
  52. setSize(450, 550);
  53. setVisible(true);
  54. }
  55.  
  56. public void update() {
  57. undo.setText(undoManager.getUndoPresentationName());
  58. redo.setText(undoManager.getRedoPresentationName());
  59. undo.setEnabled(undoManager.canUndo());
  60. redo.setEnabled(undoManager.canRedo());
  61. }
  62.  
  63. public static void main(String argv[]) {
  64. new UndoWindow();
  65. }
  66. }
Add Comment
Please, Sign In to add comment