List of usage examples for javax.swing.event UndoableEditListener UndoableEditListener
UndoableEditListener
From source file:UndoRedoTextArea.java
public UndoRedoTextArea() { super("Undo/Redo Demo"); undoButton.setEnabled(false);/*from w w w . j ava2 s.c o m*/ redoButton.setEnabled(false); JPanel buttonPanel = new JPanel(new GridLayout()); buttonPanel.add(undoButton); buttonPanel.add(redoButton); JScrollPane scroller = new JScrollPane(textArea); getContentPane().add(buttonPanel, BorderLayout.NORTH); getContentPane().add(scroller, BorderLayout.CENTER); textArea.getDocument().addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent e) { undoManager.addEdit(e.getEdit()); updateButtons(); } }); undoButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { undoManager.undo(); } catch (CannotRedoException cre) { cre.printStackTrace(); } updateButtons(); } }); redoButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { undoManager.redo(); } catch (CannotRedoException cre) { cre.printStackTrace(); } updateButtons(); } }); setSize(400, 300); setVisible(true); }
From source file:com.github.benchdoos.weblocopener.weblocOpener.gui.EditDialog.java
private void initTextField(String pathToEditingFile) { textField.addMouseListener(new ClickListener() { @Override// w w w . ja v a 2 s. c om public void doubleClick(MouseEvent e) { textField.selectAll(); } }); textField.getDocument().addDocumentListener(new DocumentListener() { @Override public void changedUpdate(DocumentEvent e) { } @Override public void insertUpdate(DocumentEvent e) { updateTextFont(); } @Override public void removeUpdate(DocumentEvent e) { updateTextFont(); } private void updateTextFont() { UrlValidator urlValidator = new UrlValidator(); if (urlValidator.isValid(textField.getText())) { if (textField != null) { setTextFieldFont(textField.getFont(), TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); textField.setForeground(Color.BLUE); } } else { if (textField != null) { setTextFieldFont(textField.getFont(), TextAttribute.UNDERLINE, -1); textField.setForeground(Color.BLACK); } } } }); UndoManager undoManager = new UndoManager(); textField.getDocument().addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent evt) { undoManager.addEdit(evt.getEdit()); } }); textField.getActionMap().put("Undo", new AbstractAction("Undo") { public void actionPerformed(ActionEvent evt) { try { if (undoManager.canUndo()) { undoManager.undo(); } } catch (CannotUndoException e) { } } }); textField.getInputMap().put(KeyStroke.getKeyStroke("control Z"), "Undo"); textField.getActionMap().put("Redo", new AbstractAction("Redo") { public void actionPerformed(ActionEvent evt) { try { if (undoManager.canRedo()) { undoManager.redo(); } } catch (CannotRedoException e) { } } }); textField.getInputMap().put(KeyStroke.getKeyStroke("control shift Z"), "Redo"); fillTextField(pathToEditingFile); }
From source file:com.prodigy4440.view.MainJFrame.java
public final void initComponents() { List<Image> icons = new LinkedList<>(); icons.add(new ImageIcon(getClass().getResource("/com/prodigy4440/ited16x16.png")).getImage()); icons.add(new ImageIcon(getClass().getResource("/com/prodigy4440/ited32x32.png")).getImage()); icons.add(new ImageIcon(getClass().getResource("/com/prodigy4440/ited48x48.png")).getImage()); icons.add(new ImageIcon(getClass().getResource("/com/prodigy4440/ited72x72.png")).getImage()); this.setIconImages(icons); ActionHandler actionHandler = new ActionHandler(this); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(620, 520); this.setLocationRelativeTo(null); this.setTitle("Untitled Document- IgboTextEditor"); southJPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); SoftBevelBorder sbb = new SoftBevelBorder(SoftBevelBorder.LOWERED); southJPanel.setBorder(sbb);/* w ww.j a v a 2 s. c om*/ menuBar = new JMenuBar(); fileJMenu = new JMenu("File"); fileJMenu.setMnemonic('F'); editJMenu = new JMenu("Edit"); editJMenu.setMnemonic('E'); formatJMenu = new JMenu("Format"); formatJMenu.setMnemonic('A'); viewJMenu = new JMenu("View"); viewJMenu.setMnemonic('V'); helpJMenu = new JMenu("Help"); helpJMenu.setMnemonic('H'); newDocumentJMenuItem = new JMenuItem("New"); newDocumentJMenuItem.addActionListener(actionHandler); newDocumentJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK)); openJMenuItem = new JMenuItem("Open"); openJMenuItem.addActionListener(actionHandler); openJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK)); saveJMenuItem = new JMenuItem("Save"); saveJMenuItem.addActionListener(actionHandler); saveJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK)); printJMenuItem = new JMenuItem("Print"); printJMenuItem.addActionListener(actionHandler); printJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK)); exitJMenuItem = new JMenuItem("Exit"); exitJMenuItem.addActionListener(actionHandler); undoJMenuItem = new JMenuItem("Undo"); undoJMenuItem.addActionListener(actionHandler); undoJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, Event.CTRL_MASK)); redoJMenuItem = new JMenuItem("Redo"); redoJMenuItem.addActionListener(actionHandler); redoJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, Event.CTRL_MASK)); copyJMenuItem = new JMenuItem("Copy"); copyJMenuItem.addActionListener(actionHandler); copyJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, Event.CTRL_MASK)); cutJMenuItem = new JMenuItem("Cut"); cutJMenuItem.addActionListener(actionHandler); cutJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Event.CTRL_MASK)); pasteJMenuItem = new JMenuItem("Paste"); pasteJMenuItem.addActionListener(actionHandler); pasteJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, Event.CTRL_MASK)); deleteJMenuItem = new JMenuItem("Delete"); deleteJMenuItem.addActionListener(actionHandler); deleteJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Event.CTRL_MASK)); selectAllJMenuItem = new JMenuItem("Select All"); selectAllJMenuItem.addActionListener(actionHandler); selectAllJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Event.CTRL_MASK)); findJMenuItem = new JMenuItem("Find"); findJMenuItem.addActionListener(actionHandler); findJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Event.CTRL_MASK)); replaceJMenuItem = new JMenuItem("Replace"); replaceJMenuItem.addActionListener(actionHandler); replaceJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, Event.CTRL_MASK)); wordWrapJCheckBoxMenuItem = new JCheckBoxMenuItem("Word Wrap"); wordWrapJCheckBoxMenuItem.addActionListener(actionHandler); wordWrapJCheckBoxMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK)); fontJMenuItem = new JMenuItem("Font"); fontJMenuItem.addActionListener(actionHandler); colorJMenuItem = new JMenuItem("Color"); colorJMenuItem.addActionListener(actionHandler); statusBarJCheckBoxMenuItem = new JCheckBoxMenuItem("Status Bar"); statusBarJCheckBoxMenuItem.addActionListener(actionHandler); statusBarJCheckBoxMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.ALT_MASK)); helpJMenuItem = new JMenuItem("Help"); helpJMenuItem.addActionListener(actionHandler); helpJMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, Event.CTRL_MASK)); aboutJMenuItem = new JMenuItem("About"); aboutJMenuItem.addActionListener(actionHandler); statusJLabel = new JLabel("Status:"); //Main text area setup textArea = new JTextArea(); undoManager = new UndoManager(); wordSearcher = new WordSearcher(textArea); textArea.setBorder(BorderFactory.createMatteBorder(4, 4, 4, 4, Color.WHITE)); document = textArea.getDocument(); document.addUndoableEditListener(new UndoableEditListener() { @Override public void undoableEditHappened(UndoableEditEvent e) { undoManager.addEdit(e.getEdit()); } }); font = new Font("Tahoma", Font.PLAIN, 16); textArea.setFont(font); color = Color.BLUE; textArea.setForeground(color); undoManager = new UndoManager(); fileJMenu.add(newDocumentJMenuItem); fileJMenu.addSeparator(); fileJMenu.add(openJMenuItem); fileJMenu.add(saveJMenuItem); fileJMenu.addSeparator(); fileJMenu.add(printJMenuItem); fileJMenu.addSeparator(); fileJMenu.add(exitJMenuItem); editJMenu.add(undoJMenuItem); editJMenu.add(redoJMenuItem); editJMenu.addSeparator(); editJMenu.add(copyJMenuItem); editJMenu.add(cutJMenuItem); editJMenu.add(pasteJMenuItem); editJMenu.addSeparator(); editJMenu.add(deleteJMenuItem); editJMenu.add(selectAllJMenuItem); editJMenu.addSeparator(); editJMenu.add(findJMenuItem); editJMenu.add(replaceJMenuItem); formatJMenu.add(wordWrapJCheckBoxMenuItem); formatJMenu.add(fontJMenuItem); formatJMenu.add(colorJMenuItem); viewJMenu.add(statusBarJCheckBoxMenuItem); helpJMenu.add(helpJMenuItem); helpJMenu.add(aboutJMenuItem); menuBar.add(fileJMenu); menuBar.add(editJMenu); menuBar.add(formatJMenu); menuBar.add(viewJMenu); menuBar.add(helpJMenu); southJPanel.setVisible(false); southJPanel.add(statusJLabel); //JScrollPane setup JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); //setting uo the Jframe this.setJMenuBar(menuBar); this.add(scrollPane, BorderLayout.CENTER); this.add(southJPanel, BorderLayout.SOUTH); textArea.addMouseListener(new MouseInputListener() { @Override public void mouseClicked(MouseEvent e) { Highlighter h = textArea.getHighlighter(); h.removeAllHighlights(); } @Override public void mousePressed(MouseEvent e) { Highlighter h = textArea.getHighlighter(); h.removeAllHighlights(); } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { } }); textArea.addKeyListener(new IgboKeyListener(textArea)); }
From source file:ca.uhn.hunit.swing.ui.util.BeanDefinitionForm.java
public void setController(IBeanDefinitionController theController) { myController = theController;//from w ww. j a va2s.c om myConstructorArgsTableModel = theController.getConstructorArgsTableModel(); myConstructorArgsTable.setModel(myConstructorArgsTableModel); myConstructorComboBoxModel = new MyConstructorComboBoxModel(); myConstructorComboBox.setModel(myConstructorComboBoxModel); mySelectedClass = theController.getInitialClass(); if (mySelectedClass != null) { myConnectionFactoryTextBox.setText(mySelectedClass.getName()); } else { myConnectionFactoryTextBox.setText(""); } myConstructorComboBoxModel.updateForClass(mySelectedClass); myConstructorComboBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { List<Class<?>> types = myConstructorComboBoxModel.getSelectedTypes(); myConstructorArgsTableModel.setTypes(types); } }); myConnectionFactoryTextBox.getDocument().addUndoableEditListener(new UndoableEditListener() { @Override public void undoableEditHappened(UndoableEditEvent e) { final Class<?> clazz; try { clazz = Class.forName(myConnectionFactoryTextBox.getText()); myConnectionFactoryTextBox.setBackground(Colours.getTextFieldOk()); myController.setSelectedClass(clazz); } catch (PropertyVetoException ex) { myLog.error(ex.getMessage()); myConnectionFactoryTextBox.setBackground(Colours.getTextFieldError()); } catch (ClassNotFoundException ex) { myLog.error(ex.getMessage()); myConnectionFactoryTextBox.setBackground(Colours.getTextFieldError()); } } }); }
From source file:ca.uhn.hunit.swing.ui.iface.JmsInterfaceForm.java
/** * {@inheritDoc }//w w w . j a v a2s .c om */ @Override public void setController(JmsInterfaceContextController theController) { final JmsInterfaceImpl model = theController.getModel(); myUsernameTextBox.setText(model.getUsername()); myUsernameTextBox.getDocument().addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent e) { model.setUsername(myUsernameTextBox.getText()); } }); myPasswordTextBox.setText(model.getPassword()); myPasswordTextBox.getDocument().addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent e) { model.setPassword(myPasswordTextBox.getText()); } }); myQueueNameTextBox.setText(model.getQueueName()); if (StringUtils.isBlank(model.getQueueName())) { myQueueNameTextBox.setBackground(Colours.getTextFieldError()); } myQueueNameTextBox.getDocument().addUndoableEditListener(new UndoableEditListener() { @Override public void undoableEditHappened(UndoableEditEvent e) { try { model.setQueueName(myQueueNameTextBox.getText()); myQueueNameTextBox.setBackground(Colours.getTextFieldOk()); } catch (PropertyVetoException ex) { LogFactory.INSTANCE.getSystem(getClass()).error(ex.getMessage()); myQueueNameTextBox.setBackground(Colours.getTextFieldError()); } } }); myQueueTopicCombo.setSelectedIndex(model.isPubSubDomain() ? 1 : 0); myQueueTopicCombo.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { model.setPubSubDomain(myQueueTopicCombo.getSelectedIndex() == 1); } }); myConnectionFactoryBeanEditor.setController(theController.getConstructorArgsController()); }
From source file:net.sourceforge.pmd.util.designer.Designer.java
private static void makeTextComponentUndoable(JTextComponent textConponent) { final UndoManager undoManager = new UndoManager(); textConponent.getDocument().addUndoableEditListener(new UndoableEditListener() { @Override//w w w .j a v a 2 s. co m public void undoableEditHappened(UndoableEditEvent evt) { undoManager.addEdit(evt.getEdit()); } }); ActionMap actionMap = textConponent.getActionMap(); InputMap inputMap = textConponent.getInputMap(); actionMap.put("Undo", new AbstractAction("Undo") { @Override public void actionPerformed(ActionEvent evt) { try { if (undoManager.canUndo()) { undoManager.undo(); } } catch (CannotUndoException e) { throw new RuntimeException(e); } } }); inputMap.put(KeyStroke.getKeyStroke("control Z"), "Undo"); actionMap.put("Redo", new AbstractAction("Redo") { @Override public void actionPerformed(ActionEvent evt) { try { if (undoManager.canRedo()) { undoManager.redo(); } } catch (CannotRedoException e) { throw new RuntimeException(e); } } }); inputMap.put(KeyStroke.getKeyStroke("control Y"), "Redo"); }
From source file:ro.nextreports.designer.ui.sqleditor.syntax.SyntaxDocument.java
public SyntaxDocument(Lexer lexer) { super();/*from w w w . j a va 2s.co m*/ putProperty(PlainDocument.tabSizeAttribute, 4); // outside ?! this.lexer = lexer; // Listen for undo and redo events addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent event) { if (event.getEdit().isSignificant()) { undo.addEdit(event.getEdit()); } } }); }
From source file:tk.tomby.tedit.core.Buffer.java
/** * Creates a new Buffer object./*w w w .j a v a 2s.c o m*/ */ public Buffer() { super(); setLayout(new BorderLayout()); JPanel internalPanel = new JPanel(); internalPanel.setLayout(new BorderLayout()); editor = new ColourTextArea(); int red = PreferenceManager.getInt("general.editor.background.red", 0); int green = PreferenceManager.getInt("general.editor.background.green", 0); int blue = PreferenceManager.getInt("general.editor.background.blue", 0); editor.setBackground(new Color(red, green, blue)); red = PreferenceManager.getInt("general.editor.foreground.red", 0); green = PreferenceManager.getInt("general.editor.foreground.green", 0); blue = PreferenceManager.getInt("general.editor.foreground.blue", 0); editor.setForeground(new Color(red, green, blue)); red = PreferenceManager.getInt("general.editor.selection.red", 0); green = PreferenceManager.getInt("general.editor.selection.green", 0); blue = PreferenceManager.getInt("general.editor.selection.blue", 0); editor.setSelectionColor(new Color(red, green, blue)); String font = PreferenceManager.getString("general.editor.font", "Monospaced"); int size = PreferenceManager.getInt("general.editor.fontSize", 12); editor.setFont(new Font(font, Font.PLAIN, size)); editor.setEditable(true); editor.setDragEnabled(true); editor.setEditorKit(EditorKitManager.createEditorKit(getExtension(DEFAULT_FILE_NAME))); InputMap map = editor.getInputMap(JComponent.WHEN_FOCUSED); for (InputMap imap = map; imap != null; imap = imap.getParent()) { imap.remove(KeyStroke.getKeyStroke('V', InputEvent.CTRL_MASK, false)); imap.remove(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK, false)); imap.remove(KeyStroke.getKeyStroke('X', InputEvent.CTRL_MASK, false)); imap.remove(KeyStroke.getKeyStroke('A', InputEvent.CTRL_MASK, false)); } editor.setInputMap(JComponent.WHEN_FOCUSED, map); editor.addCaretListener(new CaretListener() { public void caretUpdate(CaretEvent evt) { MessageManager.sendMessage(new BufferMessage(evt.getSource(), BufferMessage.CARET_EVENT)); } }); internalPanel.add(BorderLayout.CENTER, editor); if (PreferenceManager.getBoolean("general.editor.lineNumbers", false)) { lines = new LineNumbering(); lines.setPreferredSize(new Dimension(50, 0)); lines.setFont(new Font(font, Font.PLAIN, size)); lines.setFocusable(false); lines.setDocument(editor.getDocument()); internalPanel.add(BorderLayout.WEST, lines); } JScrollPane scroll = new JScrollPane(internalPanel); scroll.getVerticalScrollBar().setUnitIncrement(10); scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scroll.getViewport().setScrollMode(JViewport.BLIT_SCROLL_MODE); add(BorderLayout.CENTER, scroll); editor.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { if (evt.isPopupTrigger()) { WorkspaceManager.getPopupMenu().show(evt.getComponent(), evt.getX(), evt.getY()); } } public void mouseReleased(MouseEvent evt) { if (evt.isPopupTrigger()) { WorkspaceManager.getPopupMenu().show(evt.getComponent(), evt.getX(), evt.getY()); } } }); undo = new UndoManager(); undoableListener = new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent evt) { undo.addEdit(evt.getEdit()); MessageManager.sendMessage(new BufferMessage(evt.getSource(), BufferMessage.UNDOABLE_EDIT_EVENT)); if (!modifiedState) { setModifiedState(true); } } }; editor.getDocument().addUndoableEditListener(undoableListener); MessageManager.addMessageListener(MessageManager.PREFERENCE_GROUP_NAME, this); fileName = DEFAULT_FILE_NAME; }