繁体   English   中英

如何在此代码中添加按钮? 我不知道怎么放

[英]How do I add buttons to this code? I do not know how or where to put it

如何在此代码中添加按钮? 我已经编写了带有菜单栏的代码,但是我不知道在何处添加按钮代码(JButton)。 我的目标是编写一个没有菜单栏和按钮的程序,而不是在工具栏内,而是在打开的小程序内。 菜单栏仅用于设计,因为这些选项没有动作监听器。 (对不起,我是新来的)

public class MenuBar extends JFrame {

    public MenuBar() {

        setTitle("Car Selection");
        setSize(300, 300);

        JMenuBar menuBar = new JMenuBar();
        JMenu exit;

        setJMenuBar(menuBar);

        JMenu fileMenu = new JMenu("File");
        JMenu editMenu = new JMenu("Edit");
        JMenu aboutMenu = new JMenu("About");
        JMenu helpMenu = new JMenu("Help");
        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        menuBar.add(aboutMenu);
        menuBar.add(helpMenu);

        JMenuItem newAction = new JMenuItem("New");
        JMenuItem openAction = new JMenuItem("Open");
        JMenuItem exitAction = new JMenuItem("Exit");
        JMenuItem saveAction = new JMenuItem("Save");
        JMenuItem saveasAction = new JMenuItem("Save As");
        JMenuItem refreshAction = new JMenuItem("Refresh");

        JMenuItem undoAction = new JMenuItem("Undo");
        JMenuItem redoAction = new JMenuItem("Redo");
        JMenuItem cutAction = new JMenuItem("Cut");
        JMenuItem copyAction = new JMenuItem("Copy");
        JMenuItem pasteAction = new JMenuItem("Paste");
        JMenuItem optionAction = new JMenuItem("Options");

        JMenuItem registerAction = new JMenuItem("Register");
        JMenuItem versionAction = new JMenuItem("Version");
        JMenuItem aboutAction = new JMenuItem("About");
        JMenuItem policyAction = new JMenuItem("Policy");
        JMenuItem updatesAction = new JMenuItem("Updates");

        JMenuItem visitwebAction = new JMenuItem("Visit Web");
        JMenuItem tutorialsAction = new JMenuItem("Tutorials");
        JMenuItem feedbackAction = new JMenuItem("Feedback");
        JMenuItem dailynewsAction = new JMenuItem("Daily News");
        JMenuItem contactusAction = new JMenuItem("Contact Us");

        fileMenu.add(newAction);
        fileMenu.add(openAction);
        fileMenu.add(saveAction);
        fileMenu.add(saveasAction);
        fileMenu.add(refreshAction);
        fileMenu.addSeparator();
        fileMenu.add(exitAction);

        editMenu.add(undoAction);
        editMenu.add(redoAction);
        editMenu.add(cutAction);
        editMenu.add(copyAction);
        editMenu.add(pasteAction);
        editMenu.addSeparator();
        editMenu.add(optionAction);

        aboutMenu.add(registerAction);
        aboutMenu.add(versionAction);
        aboutMenu.add(aboutAction);
        aboutMenu.add(policyAction);        
        aboutMenu.addSeparator();
        aboutMenu.add(updatesAction);

        helpMenu.add(visitwebAction);
        helpMenu.add(tutorialsAction);
        helpMenu.add(feedbackAction);
        helpMenu.add(dailynewsAction);
        helpMenu.addSeparator();
        helpMenu.add(contactusAction);

    }

    public static void main(String[] args) {
        MenuBar me = new MenuBar();
        me.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        me.setVisible(true);    
    }
 }

我认为您正在谈论使用JToolBar

阅读Swing教程中有关如何使用工具栏的部分, 获取更多信息和示例。

另外,您将要使用Actions编写代码,以便可以由菜单项和工具栏共享Action。 本教程还包含有关How to Use Actions

尝试这个:

JButton jb = new JButton()
JPanel p = new JPanel(new BorderLayout());
p.add(jb)
getContentPane().add(p);

实际上,您可以在声明JMenuBar menuBar之前将其放在开头。

JavaDocs教程JButton的JavaDocs

编辑:针对您的评论:

而不是使用BorderLayout,而是使用AbsoluteLayout或其他方法。 尝试以下页面:

信息用法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM