2015-05-02 3 views
1

Итак, я попытался найти документы Java для получения справки, но очень смутился. Я пытаюсь добавить подменю в пункт меню «Редактировать», в котором будут подменю «Копировать» и «Вставить», и я точно знаю, как это сделать. У меня есть переменная подменю, которую я использую? Пожалуйста, помогите, спасибо. Код ниже.Добавление подменю

import javax.swing.JFrame; 
import javax.swing.JMenuBar; 
import javax.swing.JMenu; 
import javax.swing.JMenuItem; 

public class MyJFrame extends JFrame 
{ 
JMenuBar menubar; 
JMenu menu, submenu; 
JMenuItem mi; 

public MyJFrame(String title) 
{ 
    super(title); 
    menubar = new JMenuBar(); 
    setJMenuBar(menubar); 
    buildMenu(); 
} 

void buildMenu() 
{ 
menu = new JMenu("File"); 

      mi = new JMenuItem("New"); 
      menu.add(mi); 
      menubar.add(menu); 

      mi = new JMenuItem("List Files"); 
      menu.add(mi); 
      menubar.add(menu); 
      menu.addSeparator(); 

      mi = new JMenuItem("Save As"); 
      menu.add(mi); 
      menubar.add(menu); 
      menu.addSeparator(); 

      mi = new JMenuItem("Close"); 
      menu.add(mi); 
      menubar.add(menu); 

    menu = new JMenu("Tools"); 

      mi = new JMenuItem("Sort"); 
      menu.add(mi); 
      menubar.add(menu); 

      mi = new JMenuItem("Search"); 
      menu.add(mi); 
      menubar.add(menu); 

      mi = new JMenuItem("Edit"); 
      menu.add(mi); 
      menubar.add(menu); 
      mi = new JMenuItem("Copy"); 
      menu.add(mi); 
      menubar.add(menu); 
      mi = new JMenuItem("Paste"); 
      menu.add(mi); 
      menubar.add(menu); 
} 
} 

ответ

3

Создайте Меню вместо элемента MenuItem для редактирования и добавьте пункты MenuItems Copy и Paste. Затем добавьте меню редактирования в меню «Инструменты».

menu = new JMenu("Tools"); 

     mi = new JMenuItem("Sort"); 
     menu.add(mi); 
     mi = new JMenuItem("Search"); 
     menu.add(mi); 
     JMenu med = new JMenu("Edit"); 
     mi = new JMenuItem("Copy"); 
     med.add(mi); 
     mi = new JMenuItem("Paste"); 
     med.add(mi); 
     menu.add(med); 
    menubar.add(menu); 

Примечание: я отредактировал последнюю часть вашего кода. Просто замените код из меню инструментов на это и попробуйте это. Скажите мне, если это ошибка.

+0

Почему вы добавляете '' menu' в menubar' три раз? Вы должны удалить это. –

+0

Выполнено, на самом деле я только что скопировал и отредактировал последнее прошлое его кода. Так что это осталось ... –

+0

Хорошо. Ошибки могут случиться;) Хотя я не твой брат, извини. –

2

Вот простой пример того, как вы можете это сделать:

JMenuBar menuBar = new JMenuBar(); 

// Edit Menu 
JMenu editMenu = new JMenu("Edit");  
menuBar.add(editMenu); 

// Edit -> Copy 
JMenuItem copyMenuItem = new JMenuItem("Copy"); 
editMenu.add(copyMenuItem); 

// Edit -> Paste 
JMenuItem pasteMenuItem = new JMenuItem("Paste"); 
editMenu.add(pasteMenuItem); 
Смежные вопросы