来自MenuItem/MenuBar和Sound Player的Java Exit按钮

Mas*_*345 3 java swing jframe jbutton actionlistener

好吧,我在视频/学校的java学习中作为初学者编写了这段代码,我得到了一些问题.

1 =>为什么文件>退出按钮不起作用并且有一个小箭头,好像有一些孩子一样?大退出按钮使用相同的功能.我从这里受到启发:http://www.youtube.com/watch? src_vid = FB_wJpIdA8k&feature = iv&annotation_id = annotation_40248&v = dwLkDGm5EBc

2 =>如何让该按钮变小?当我调整它时,它会更大.

3 =>有谁知道一个简单的声音播放器库?那么当我按下那个按钮播放声音时?我已尝试过一些网络示例,例如http://www.developer.com/java/other/article.php/2173111/Java-Sound-Playing-Back-Audio-Files-using-Java.htm并且不知道如何使它变得简单,并在SoundPlay(sound.au)等各处使用它;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class form4 
{
    public static void main(String[] args)
    {
        // Frame
        JFrame frame = new JFrame("Menu");
        frame.setSize(300,300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Just create menubar
        JMenuBar menubar = new JMenuBar();
        frame.setJMenuBar(menubar);

        // Add an JMenu
        JMenu file = new JMenu("File");
        menubar.add(file);
        // Add an JMenuItem
        JMenuItem exit = new JMenu("Exit");
        file.add(exit);
        exit.addActionListener(new exitApp());

        // Add an JMenu
        JMenu help = new JMenu("Help");
        menubar.add(help);
        // Add an JMenuItem
        JMenuItem about = new JMenuItem("About");
        help.add(about);

        // Add an JButton
        JButton exitButton= new JButton("Exit!");
        frame.add(exitButton);
        exitButton.addActionListener(new exitApp());
        exitButton.setSize(40,40);

        frame.setVisible(true);
    }

    // Exit app
    static class exitApp implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            System.exit(0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Hov*_*els 12

要使退出菜单工作,请使用JMenuItem:

  JMenuItem exit = new JMenuItem("Exit");
  exit.addActionListener(new exitApp());
  file.add(exit);
Run Code Online (Sandbox Code Playgroud)

关于你的另一个问题,如何使按钮"更小",你需要了解你将这个JButton添加到JFrame的contentPane,并且默认情况下contentPane使用BorderLayout.因此,以这种方式添加按钮将使其完全填满容器.为防止这种情况发生,您需要使用其他布局.请阅读有关如何使用Swing Layouts获取详细信息:布局管理器的可视指南