在事件监听器中启用Java菜单项 [英] Java menu item enabling within event listener

查看:46
本文介绍了在事件监听器中启用Java菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我试图在事件监听器中启用JMenuItem,但似乎超出了范围.我是Java的新手,所以我将如何正确处理.所述事件监听器将更改为新视图并启用禁用的菜单项.

Hello im trying to enable my JMenuItem from within an event listener but it seems to be out of scope. im new to java so how would i properly go about this. the said event listener will change to a new view and enable the disabled menu items.

    //Create and add MenuItems
    JMenuItem fileItem0 = new JMenuItem("Load");
    collMenu.add(fileItem0);

    JMenuItem fileItem1 = new JMenuItem("Add");
    fileItem1.setEnabled(false);
    collMenu.add(fileItem1);

    JMenuItem fileItem2 = new JMenuItem("Delete");
    fileItem2.setEnabled(false);
    collMenu.add(fileItem2);

    //Add Menu bar to frame
    menubar.add(collMenu);

    //Menu Item Functions
    fileItem0.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent actionEvent) {
            JOptionPane.showMessageDialog(null,"You selected: Load.");
            //Enable fileitem1 & 2 here ?? 
        }
    });

推荐答案

我希望这个小例子可以帮助您清除疑问...

I hope this small example will help you clear your doubts...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class MenuExample extends JFrame {
    JMenuBar menuBar = new JMenuBar();
    JMenu menu = new JMenu("File");
    JMenu menu1 = new JMenu("Edit");
    JMenuItem item1 = new JMenuItem("New");
    JMenuItem item2 = new JMenuItem("Open");

    public MenuExample() {
        setJMenuBar(menuBar);
        setVisible(true);
        setSize(400, 200);
        menuBar.add(menu);
        menuBar.add(menu1);
        menu.add(item1);
        menu.add(item2);
        item1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFileChooser chooser = new JFileChooser();
                chooser.showOpenDialog(null);

            }

        });
        item2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFileChooser chooser = new JFileChooser();
                chooser.showOpenDialog(null);

            }

        });

    }

    public static void main(String[] args) {
        MenuExample ex = new MenuExample();
    }

}

这篇关于在事件监听器中启用Java菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆