event create actionperformed java swing jframe jbutton actionlistener

java - create - netbeans button click event



Botón de salida de Java de MenuItem/MenuBar y Sound Player (2)

Ok, escribí esta nota de código como principiante en Java learning de videos / school, y recibí algunas preguntas.

1 => ¿Por qué el botón Archivo> Salir no funciona y tiene una pequeña flecha como si tuviera algunos hijos? El botón de salida grande funciona con la misma función. Me he inspirado desde aquí: http://www.youtube.com/watch?src_vid=FB_wJpIdA8k&feature=iv&annotation_id=annotation_40248&v=dwLkDGm5EBc

2 => ¿Cómo puedo hacer que ese botón sea más pequeño? Es más grande cuando lo cambio de tamaño.

3 => ¿Alguien sabe una biblioteca de reproductor de sonido simple? Entonces, cuando presiono ese botón para reproducir un sonido? He intentado algunos ejemplos web, como http://www.developer.com/java/other/article.php/2173111/Java-Sound-Playing-Back-Audio-Files-using-Java.htm y no sé cómo hacerlo simple y usarlo en todas partes, como 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); } } }

¡Gracias!


Para hacer que el menú de salida funcione, use un JMenuItem:

JMenuItem exit = new JMenuItem("Exit"); exit.addActionListener(new exitApp()); file.add(exit);

Con respecto a su otra pregunta, cómo hacer que el botón sea "más pequeño", debe comprender que está agregando este JButton al Panel de contenido de JFrame, y que el Panel de contenido usa BorderLayout de forma predeterminada. Por lo tanto, agregar el botón de esta manera hará que llene completamente el contenedor. Para evitar que esto suceda, deberá usar otros diseños. Lea sobre cómo usar los diseños de Swing para obtener más información: una guía visual para los administradores de diseño


A continuación se muestra cómo lo implemento en mis aplicaciones, espero que ayude:

menuBar = new JMenuBar(); mainWindow.setJMenuBar(menuBar); mnFile = new JMenu("File"); menuBar.add(mnFile); mntmClose = new JMenuItem("Close"); mntmClose.setMnemonic(KeyEvent.VK_Q); mntmClose.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_Q, ActionEvent.CTRL_MASK)); mntmClose.setToolTipText("Exit application"); mntmClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); mnFile.add(mntmClose);