Просмотр исходного кода

Add keystrokes to menuitems & some spacing

jancoow 11 лет назад
Родитель
Сommit
5c0db2c86e
1 измененных файлов с 84 добавлено и 0 удалено
  1. 84 0
      src/gui/menubar/MenuBar.java

+ 84 - 0
src/gui/menubar/MenuBar.java

@@ -0,0 +1,84 @@
+package gui.menubar;
+
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.KeyStroke;
+
+@SuppressWarnings("serial")
+public class MenuBar extends JMenuBar{
+
+	public MenuBar(){
+		initialize();
+	}
+	
+	private void initialize(){
+		setLayout(new FlowLayout(80));
+		JMenu fileMenu = new JMenu("File");
+        JMenu editMenu = new JMenu("Edit");
+        JMenu viewMenu = new JMenu("View");
+        JMenu helpMenu = new JMenu("Help");
+        this.add(fileMenu);
+        this.add(editMenu);
+        this.add(viewMenu);
+        this.add(helpMenu);
+        
+        JMenuItem newAction = new JMenuItem("New");
+        JMenuItem openAction = new JMenuItem("Open");
+        JMenuItem exitAction = new JMenuItem("Exit");
+        JMenuItem cutAction = new JMenuItem("Cut");
+        JMenuItem copyAction = new JMenuItem("Copy");
+        JMenuItem pasteAction = new JMenuItem("Paste");
+        
+        newAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
+        openAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
+        exitAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
+        cutAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
+        copyAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
+        pasteAction.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
+        
+        fileMenu.add(newAction);
+        newAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.out.println("You have clicked on the new action");
+            }
+        });
+        fileMenu.add(openAction);
+        openAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.out.println("You have clicked on the open action");
+            }
+        });
+        fileMenu.addSeparator();
+        fileMenu.add(exitAction);
+        exitAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.exit(0);
+            }
+        });
+        editMenu.add(cutAction);
+        cutAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.out.println("You have clicked on the cut action");
+            }
+        });
+        editMenu.add(copyAction);
+        copyAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.out.println("You have clicked on the copy action");
+            }
+        });
+        editMenu.add(pasteAction);
+        pasteAction.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                System.out.println("You have clicked on the paste action");
+            }
+        });
+	}
+	
+}