Skip to content

Instantly share code, notes, and snippets.

@6dc
Created June 4, 2014 07:05
Show Gist options
  • Save 6dc/f411eeb6075d8ac25929 to your computer and use it in GitHub Desktop.
Save 6dc/f411eeb6075d8ac25929 to your computer and use it in GitHub Desktop.
Simple Util-class which adds the edit jmenuitem to your jmenubar
import javax.swing.*;
import javax.swing.text.DefaultEditorKit;
import java.awt.event.KeyEvent;
/**
* @author 6dc
*
* This simple util class is used to have copy, paste, cut menubar + shortcuts (based on windows defaults)
*/
public class JEditMenuBar extends JMenuBar{
public JEditMenuBar(){
addEditMenu(this);
}
/**
* @param menuBar your current MenuBar which has to be added with the Edit dialog
* @return MenuBar with the added Edit-MenuItem
*/
public static JMenuBar addEditMenu(JMenuBar menuBar){
JMenu editMenu = new JMenu("Edit");
editMenu.add(MenuItem.COPY.getMenuItem());
editMenu.add(MenuItem.PASTE.getMenuItem());
editMenu.add(MenuItem.CUT.getMenuItem());
menuBar.add(editMenu);
return menuBar;
}
enum MenuItem{
CUT(KeyEvent.VK_X),COPY(KeyEvent.VK_C),PASTE(KeyEvent.VK_V);/*Add more if you want (undo,redo etc)*/
int keys;
MenuItem(int vk) {
this.keys=vk;
}
JMenuItem getMenuItem(){
JMenuItem menuItem = new JMenuItem();
switch (keys){
case KeyEvent.VK_X:
menuItem = new JMenuItem(new DefaultEditorKit.CutAction());
break;
case KeyEvent.VK_V:
menuItem = new JMenuItem(new DefaultEditorKit.PasteAction());
break;
case KeyEvent.VK_C:
menuItem = new JMenuItem(new DefaultEditorKit.CopyAction());
break;
}
return menuItem;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment