Programación Java: quiero implementar una función: cuando se hace clic en un botón del menú, aparece un cuadro de diálogo
//Formulario principal de Test.java
importar java.awt.BorderLayout;
importar java.awt.EventQueue;
importar java.awt.event.ActionEvent;
importar java.awt.event.ActionListener;
importar javax.swing.JFrame;
importar javax.swing . JMenu;
importar javax.swing.JMenuBar;
importar javax.swing.JMenuItem;
importar javax.swing.JPanel;
importar javax.swing.border.EmptyBorder;
La prueba de clase pública extiende JFrame {
contentPane privado de JPanel;
/**
* Inicie la aplicación.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
prueba {
Marco de prueba = new Test();
frame.setVisible(true);
} captura (Excepción e) {
e.printStackTrace();
}
}
});
}
/**
* Crea el marco.
*/
público Test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JMenuBar menuBar = nuevo JMenuBar( ) ;
setJMenuBar(menuBar);
JMenu mnNewMenu = new JMenu("Acerca del lector");
menuBar.add(mnNewMenu);
JMenuItem mntmNewMenuItem = new JMenuItem("Acerca del autor");
mnNewMenu.add(mntmNewMenuItem);
mntmNewMenuItem.addActionListener(new ActionListener(){
acción public voidPerformed(ActionEvent e){
new About_Author().setVisible(true);;
}
});
contentPane = nuevo JPanel();
contentPane.setBorder(nuevo EmptyBorder(5, 5, 5,
5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
}
//Formulario de información de la página del autor About_Author.java
importar java.awt.BorderLayout;
importar java.awt.FlowLayout;
importar javax.swing.JButton;
importar javax.swing.JDialog;
importar javax.swing.JFrame;
importar javax.swing . JPanel;
importar javax.swing.border.EmptyBorder;
importar javax.swing.JLabel;
la clase pública About_Author extiende JFrame{
private final JPanel contentPanel = new JPanel();
/**
* Inicie la aplicación.
*/
public static void main(String[] args) {
prueba {
About_Author dialog = new About_Author();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE) ;
dialog.setVisible(true);
} captura (Excepción e) {
e.printStackTrace();
}
}
/**
* Crea el diálogo.
*/
público About_Author( ) {
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder( nuevo EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
{
etiqueta JLabel = new JLabel("QQ");
label.setBounds(160, 10, 54, 15);
contentPanel .add(label);
}
{
JLabel lblNewLabel = new JLabel("teléfono móvil");
lblNewLabel. setBounds(160, 59, 54, 15);
contentPanel.add(lblNewLabel);
}
etiqueta JLabel = new JLabel("Autor") ;
laboratorio
el.setBounds(160, 107, 54, 15);
contentPanel.add(label);
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{ p>
p>
JButton okButton = new JButton("OK");
okButton.setActionCommand("OK");
buttonPane.add(okButton) ;
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("Cancelar") ;
cancelButton.setActionCommand("Cancelar");
buttonPane.add(cancelButton);
}
}
}
}