簡體   English   中英

JFileChooser和ActionEvent處理程序的放置位置

[英]Where to place JFileChooser and ActionEvent handler

我在創建JFileChooser和關聯的ActionEvent來單擊以下代碼中的fileItem1時遇到一些問題。

問題:應該在哪里聲明JFileChooser?在哪里聲明ActionEvent方法?

import javax.swing.*;

/*
 * This class encapsulates the build of the menu bar and
 * is called from DrawPanelMain to add to the JFrame
 */
public class SwingMenu extends JMenuBar {

    /*
     * Initializes the JMenuItems that will be added to the menu. This is
     * necessary for access by the ActionEvent handler. Also includes
     * FileChooser that will be used for ActionEvent of clicking on fileItem1.
     */
    private JMenuItem fileItem1 = null;
    private JMenuItem fileItem2 = null;
    private JMenuItem editItem1 = null;
    private JMenuItem helpItem1 = null;
    private JMenuItem toolsItem1 = null;

    /*
     * These will be the main items on the menuBar
     */
    public SwingMenu() {
        initMenuBar();
    }

    private void initMenuBar() {
        /*
         * Initializes for the main items on the menuBar
         */
        JMenu fileMenu = new JMenu("File");
        JMenu editMenu = new JMenu("Edit");
        JMenu toolsMenu = new JMenu("Tools");
        JMenu helpMenu = new JMenu("Help");

        /*
         * Initializes for the components of the main items
         */
        JMenuItem fileItem1 = new JMenuItem("Open");
        JMenuItem fileItem2 = new JMenuItem("Save");
        JMenuItem editItem1 = new JMenuItem("Edit Configuration");
        JMenuItem helpItem1 = new JMenuItem("User Manual");
        JMenuItem toolsItem1 = new JMenuItem("Fetch Configuration");

        /*
         * Each component is added to the assigned menu item
         */
        fileMenu.add(fileItem1);
        fileMenu.add(fileItem2);
        editMenu.add(editItem1);
        toolsMenu.add(toolsItem1);
        helpMenu.add(helpItem1);

        /*
         * Menu items are added to the menuBar
         */
        add(fileMenu);
        add(editMenu);
        add(toolsMenu);
        add(helpMenu);
    }
}

您必須將ActionListener添加到fileItem1中,如下所示:

fileItem1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ae) {
        JFileChooser chooser = new JFileChooser(null);
        if (chooser.showOpenDialog() != JFileChooser.CANCEL_OPTION) {
            // ...
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM