Código:
// Fig. 14.9: inicial.java
// Demostración de los menús
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class inicial extends JFrame {
private JDesktopPane elEscritorio;
// configurar GUI
public inicial()
{
super( "Uso de objetos JMenu" );
elEscritorio = new JDesktopPane();
getContentPane().add( elEscritorio );
// UIManager.setLookAndFeel( new com.nilo.plaf.nimrod.NimRODLookAndFeel());
// establecer menú Archivo y sus elementos de menú
JMenu menuArchivo = new JMenu( "Archivo" );
menuArchivo.setMnemonic( 'A' );
// establecer elemento de menú Acerca de...
JMenuItem elementoAcerca = new JMenuItem( "Acerca de..." );
elementoAcerca.setMnemonic( 'c' );
menuArchivo.add( elementoAcerca );
elementoAcerca.addActionListener(
new ActionListener() { // clase interna anónima
// mostrar cuadro de diálogo de mensaje cuando el usuario seleccione Acerca de...
public void actionPerformed( ActionEvent evento )
{
JOptionPane.showMessageDialog( inicial.this,
"Éste es un ejemplo\ndel uso de menús",
"Acerca de", JOptionPane.PLAIN_MESSAGE );
}
} // fin de la clase interna anónima
); // fin de la llamada a addActionListener
// establecer elemento de menú Salir
JMenuItem elementoSalir = new JMenuItem( "Salir" );
elementoSalir.setMnemonic( 'S' );
menuArchivo.add( elementoSalir );
elementoSalir.addActionListener(
new ActionListener() { // clase interna anónima
// terminar la aplicación cuando el usuario haga clic en elementoSalir
public void actionPerformed( ActionEvent evento )
{
System.exit( 0 );
}
} // fin de la clase interna anónima
); // fin de la llamada a addActionListener
// crear barra de menús y adjuntarla a la ventana PruebaMenu
JMenuBar barra = new JMenuBar();
setJMenuBar( barra );
barra.add( menuArchivo );
//**********************************************************
JMenu menuDirectorio = new JMenu( "Directorio" );
menuArchivo.setMnemonic( 'D' );
JMenuItem clientes = new JMenuItem( "Clientes" );
clientes.setMnemonic( 'C' );
menuDirectorio.add( clientes );
clientes.addActionListener(
new ActionListener() { // clase interna anónima
// mostrar nueva ventana interna
public void actionPerformed( ActionEvent evento ) {
// crear marco interno
JInternalFrame marco = new JInternalFrame(
"Creacion de Clientes", true, true, true, true );
// adjuntar panel al panel de contenido del marco interno
MiJPanel panel = new MiJPanel();
marco.getContentPane().add( panel, BorderLayout.CENTER );
// establecer tamaño de marco interno en el tamaño de su contenido
marco.pack();
// adjuntar marco interno al escritorio y mostrarlo
elEscritorio.add( marco );
marco.setVisible( true );
}
} // fin de la clase interna anónima
); // fin de la llamada a addActionListener
JMenuItem aerolineas = new JMenuItem( "Aerolineas" );
aerolineas.setMnemonic( 'A' );
menuDirectorio.add( aerolineas );
barra.add( menuDirectorio );
//***********************************************************
JMenu menuConsultas = new JMenu( "Consultas" );
menuConsultas.setMnemonic( 'o' );
JMenuItem directorio = new JMenuItem( "Directorio" );
directorio.setMnemonic( 'd' );
menuConsultas.add( directorio );
JMenuItem movimiento = new JMenuItem( "Movimientos" );
movimiento.setMnemonic( 'm' );
menuConsultas.add( movimiento );
barra.add( menuConsultas );
//***********************************************************
JMenu menuInformes = new JMenu( "Informes" );
menuConsultas.setMnemonic( 'I' );
//----------------------------------------------------------
JMenu cartera = new JMenu( "Cartera" );
cartera.setMnemonic( 'c' );
JMenuItem Dirclientes = new JMenuItem( "Directorio de Clientes" );
Dirclientes.setMnemonic( 'D' );
cartera.add( Dirclientes );
JMenuItem EstaCartera = new JMenuItem( "Estado de Cartera" );
EstaCartera.setMnemonic( 'E' );
cartera.add( EstaCartera );
JMenuItem EstaDetalllado = new JMenuItem( "Estado Detallado" );
EstaDetalllado.setMnemonic( 'd' );
cartera.add( EstaDetalllado );
JMenuItem MovCarte = new JMenuItem( "Movimiento de Cartera" );
MovCarte.setMnemonic( 'M' );
cartera.add( MovCarte );
JMenuItem MovDetalla = new JMenuItem( "Movimiento Detallado" );
MovDetalla.setMnemonic( 'e' );
cartera.add( MovDetalla );
menuInformes.add( cartera );
//----------------------------------------------------------
JMenu facturas = new JMenu( "Facturas" );
facturas.setMnemonic( 'f' );
JMenuItem Concfact = new JMenuItem( "Concecutivo de Facturas" );
Concfact.setMnemonic( 'C' );
facturas.add( Concfact );
JMenuItem Factanula = new JMenuItem( "Facturas Anuladas" );
Factanula.setMnemonic( 'F' );
facturas.add( Factanula );
JMenuItem Movfact = new JMenuItem( "Movimiento de Facturas" );
Movfact.setMnemonic( 'M' );
facturas.add( Movfact );
JMenuItem Movdetalla = new JMenuItem( "Movimiento Detallado" );
Movdetalla.setMnemonic( 'D' );
facturas.add( Movdetalla );
menuInformes.add( facturas );
//------------------------------------------------------------
JMenu Infaerolineas = new JMenu( "Aerolineas" );
Infaerolineas.setMnemonic( 'a' );
JMenuItem Dirairlines = new JMenuItem( "Directorio de Aeolineas" );
Dirairlines.setMnemonic( 'D' );
Infaerolineas.add( Dirairlines );
JMenuItem Movairlines = new JMenuItem( "Movimiento de Aerolineas" );
Movairlines.setMnemonic( 'M' );
Infaerolineas.add( Movairlines );
menuInformes.add( Infaerolineas );
//------------------------------------------------------------
JMenuItem auditoria = new JMenuItem( "Auditoria" );
auditoria.setMnemonic( 'u' );
menuInformes.add( auditoria );
//------------------------------------------------------------
JMenu SABRE = new JMenu( "SABRE" );
SABRE.setMnemonic( 'S' );
JMenuItem Records = new JMenuItem( "Records" );
Records.setMnemonic( 'R' );
SABRE.add( Records );
JMenuItem MovSABRE = new JMenuItem( "Movimiento de Facturas" );
MovSABRE.setMnemonic( 'M' );
SABRE.add( MovSABRE );
JMenuItem FactanulaSABRE = new JMenuItem( "Facturas Anuladas" );
FactanulaSABRE.setMnemonic( 'F' );
SABRE.add( FactanulaSABRE );
menuInformes.add( SABRE );
barra.add( menuInformes );
//***********************************************************
JMenu menuContabilizacion = new JMenu( "Contabilizacion" );
menuContabilizacion.setMnemonic( 'C' );
JMenuItem Defconcep = new JMenuItem( "Definicion de Conceptos" );
Defconcep.setMnemonic( 'D' );
menuContabilizacion.add( Defconcep );
JMenuItem Export = new JMenuItem( "Exportar Informacion" );
Export.setMnemonic( 'E' );
menuContabilizacion.add( Export );
barra.add( menuContabilizacion );
//***********************************************************
JMenu menuConfigura = new JMenu( "Configuracion" );
menuConsultas.setMnemonic( 'f' );
JMenuItem configGene = new JMenuItem( "Configuracion General" );
configGene.setMnemonic( 'C' );
menuConfigura.add( configGene );
JMenuItem parSABRE = new JMenuItem( "Parametros de SABRE" );
parSABRE.setMnemonic( 's' );
menuConfigura.add( parSABRE );
barra.add( menuConfigura );
getContentPane().setBackground( Color.CYAN );
setSize( 800, 600 );
setVisible( true );
} // fin del constructor
public static void main( String args[] )
{
inicial aplicacion = new inicial();
aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
public class MiJPanel extends JPanel {
private Container contenedor;
private GridBagLayout esquema;
private GridBagConstraints restricciones;
// cargar imagen
public MiJPanel()
{
contenedor = new Container();
esquema = new GridBagLayout();
contenedor.setLayout( esquema );
// instanciar restricciones de GridBagLayout
restricciones = new GridBagConstraints();
// crear componentes de GUI
JLabel id = new JLabel("Identificacion");
JLabel Nombre = new JLabel("Nombre");
JLabel Direccion = new JLabel("Direccion");
JLabel Telefono = new JLabel("Telefono");
JLabel email = new JLabel("email");
JLabel tipo = new JLabel("Tipo");
JTextField tid = new JTextField( "", 10 );
JTextField tnombre = new JTextField( "", 20 );
JTextField tdireccion = new JTextField( "",20 );
JTextField ttelefono = new JTextField( "",10 );
JTextField temail = new JTextField( "",10 );
String nombres[] = { "Cedula de Ciudadania", "NIT", "Tarjeta de Identidad" };
JComboBox cuadroCombinado = new JComboBox( nombres );
JButton Aceptar = new JButton( "Aceptar" );
JButton Cancelar = new JButton( "Cancelar" );
restricciones.weightx = 0;
restricciones.weighty = 0;
restricciones.fill = GridBagConstraints.BOTH;
agregarComponente( id, 0, 0, 1, 1 );
agregarComponente( Nombre, 1, 0, 1, 1 );
agregarComponente( Direccion, 2, 0, 1, 1 );
agregarComponente( Telefono, 3, 0, 1, 1 );
agregarComponente( email, 3, 2, 1, 1 );
agregarComponente( tipo, 0, 2, 1, 1 );
agregarComponente( tid, 0, 1, 1, 1 );
agregarComponente( tnombre, 1, 1, 4, 1 );
agregarComponente( tdireccion, 2, 1, 4, 1 );
agregarComponente( ttelefono, 3, 1, 1, 1 );
agregarComponente( temail, 3, 3, 1, 1 );
agregarComponente( cuadroCombinado, 0, 3, 1, 1 );
add(contenedor);
setSize( 100, 150 );
setVisible( true );
}
public Dimension getPreferredSize()
{
return new Dimension( 640,480 );
}
private void agregarComponente( Component componente,
int fila, int columna, int anchura, int altura )
{
// establecer gridx y gridy
restricciones.gridx = columna;
restricciones.gridy = fila;
// establecer gridwidth y gridheight
restricciones.gridwidth = anchura;
restricciones.gridheight = altura;
// establecer restricciones y agregar componente
esquema.setConstraints( componente, restricciones );
contenedor.add( componente );
}// fin de la clase MiJPanel
}
} // fin de la clase PruebaMenu
Desde ya les agradezco su gran ayuda.