interfaces con java
TRANSCRIPT
import javax.swing.*;
public class PruebaFrame {
public static void main(String[] args) {JFrame marco = new JFrame("Hola Mundo");marco.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);marco.setSize(300, 100);marco.setVisible(true);
}
}
PruebaFrame
import java.awt.*;import javax.swing.*;
public class PruebaFlowLayout extends JFrame{
private JButton botones[] = {
new JButton("Botón 1"),new JButton("Botón 2"),new JButton("Botón 3"),new JButton("Botón 4"),new JButton("Botón 5"),new JButton("Botón 6")
};
public PruebaFlowLayout(){super("Prueba de FlowLayout()");Container contenedor = getContentPane();setLayout(new FlowLayout());for (int i = 0; i < botones.length; i++){
contenedor.add(botones[i]);}setSize(300, 250);setVisible(true);
}public static void main(String args[]){
PruebaFlowLayout ventana = new
PruebaFlowLayout();
ventana.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);}
PruebaFlowLayout
PruebaBorderLayoutimport java.awt.*;import javax.swing.*;
public class PruebaBorderLayout extends JFrame {
public PruebaBorderLayout() {super("Prueba de BorderLayout()");Container cont = getContentPane();setLayout(new BorderLayout());
cont.add(new JLabel("Etiqueta Norte"), BorderLayout.NORTH);cont.add(new JLabel("Etiqueta Sur"), BorderLayout.SOUTH);cont.add(new JLabel("Etiqueta Centro"),
BorderLayout.CENTER);cont.add(new JLabel("Etiqueta Este"), BorderLayout.EAST);cont.add(new JLabel("Etiqueta Oeste"), BorderLayout.WEST);
setSize(300, 250);setVisible(true);
} //constructor
public static void main(String args[]) {PruebaBorderLayout ventana = new PruebaBorderLayout();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} //método main} //clase PruebaBorderLAyout
PruebaGridLayout.java
import java.awt.*;import javax.swing.*;
public class PruebaGridLayout extends JFrame{
public PruebaGridLayout(){super("Prueba de GridLayout()");Container cont = getContentPane();setLayout(new GridLayout(3, 2));
cont.add(new JLabel("Etiqueta 1"));cont.add(new JTextField());cont.add(new JLabel("Etiqueta 2"));cont.add(new JTextField());cont.add(new JLabel("Etiqueta 3"));cont.add(new JTextField());
setSize(300, 250);setVisible(true);
}
public static void main(String args[]){PruebaGridLayout ventana =
new PruebaGridLayout();ventana.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);}
}
PruebaEtiquetaimport java.awt.*;import javax.swing.*;
public class PruebaEtiqueta extends JFrame{private JLabel lbEtq1, lbEtq2, lbEtq3;public PruebaEtiqueta(){
super("Prueba de Etiqueta");Container cont = getContentPane();setLayout(new FlowLayout());
lbEtq1 = new JLabel("Etiqueta con texto"); lbEtq1.setToolTipText("Etiqueta1");
cont.add(lbEtq1);Icon icoImagen = new ImageIcon("playbutton.gif"); //.gif, .jpg, png
lbEtq2 = new JLabel("Etiqueta con texto e icono", icoImagen, SwingConstants.LEFT); lbEtq2.setToolTipText(“Etiqueta2");
cont.add(lbEtq2);lbEtq3 = new JLabel();lbEtq3.setText("Etiqueta con icono y texto en parte inferior");lbEtq3.setIcon(icoImagen);lbEtq3.setHorizontalTextPosition(SwingConstants.CENTER); //Interfaz SwingConstants
lbEtq3.setVerticalTextPosition(SwingConstants.BOTTOM); //posición texto en etiqueta
lbEtq3.setToolTipText(“Etiqueta3");cont.add(lbEtq3);setSize(300, 250);setVisible(true);
}
public static void main(String args[]){PruebaGridLayout ventana =
new PruebaGridLayout();ventana.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);}
}
PruebaCamposTextoimport java.awt.*;import java.awt.event.*;import javax.swing.*;
public class PruebaCamposTexto extends JFrame{ private JTextField campoTexto1, campoTexto2, campoTexto3;
private JPasswordField clave; public PruebaCamposTexto() {
super("Ejemplo de Campos de Texto");Container contenedor = getContentPane();contenedor.setLayout(new FlowLayout());campoTexto1 = new JTextField(10);campoTexto2 = new JTextField("Escribe aquí el texto");campoTexto3 = new JTextField("Campo de texto no editable", 20);campoTexto3.setEditable(false);clave = new JPasswordField("Texto Oculto");
contenedor.add(campoTexto1);contenedor.add(campoTexto2);contenedor.add(campoTexto3);contenedor.add(clave);
ManejadorCampoTexto escucha = new ManejadorCampoTexto();campoTexto1.addActionListener(escucha);campoTexto2.addActionListener(escucha);campoTexto3.addActionListener(escucha);clave.addActionListener(escucha);setSize(275, 170);
setVisible(true);}
public static void main(String args[]) {PruebaCamposTexto ventana = new PruebaCamposTexto();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class ManejadorCampoTexto implements ActionListener {
public void actionPerformed(ActionEvent evento) {String cadena = "";
if (evento.getSource() == campoTexto1) cadena = "CampoTexto1: " + campoTexto1.getText();
else if (evento.getSource() == campoTexto2) cadena = "CampoTexto2: " + evento.getActionCommand();
else if (evento.getSource() == campoTexto3) cadena = "CampoTexto3: " + evento.getActionCommand();
else if (evento.getSource() == clave) cadena = "Clave " + new String(clave.getPassword());
JOptionPane.showMessageDialog(null, cadena);} //actionPerformed
}//ManejadorCampoTexto
}//clase
import java.awt.*;import java.awt.event.*;import javax.swing.*; class Dialogo extends Dialog {
public Dialogo(JFrame padre){ super(padre, "Prueba JDialog", true); setLayout(new FlowLayout());
add(new JLabel("Ventana de diálogo"));
JButton ok = new JButton("OK");ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {dispose();
}});add(ok);setSize(150, 125);
}}
DIALOGODialogo
DIALOGOPruebaDialogoimport java.awt.event.*;import javax.swing.*; public class PruebaDialogo extends JFrame{
private JButton boton = new JButton("Mostrar Caja de Diálogo");private Dialogo dialogo = new Dialogo(this);public PruebaDialogo(){
super("Prueba JDialog");boton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){dialogo.setVisible(true);
}});add(boton);setSize(425, 150);setVisible(true);
}public static void main(String args[]){
PruebaDialogo ventana = new PruebaDialogo(); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
PruebaAreaTextoimport java.awt.*;import java.awt.event.*;import javax.swing.*;
public class PruebaAreaTexto extends JFrame {
private JButton btCopiar;private JTextArea aTexto1, aTexto2;
public PruebaAreaTexto(){super("Prueba Áreas de Texto");Box cuadro = Box.createHorizontalBox();String cadena = "Esta es un cadena de \ndemostración para\n" +
"ilustrar cómo copiar texto\n de un área de texto a \n" +"otra, utilizando un\nevento externo\n";
aTexto1 = new JTextArea(cadena, 10, 15);cuadro.add(new JScrollPane(aTexto1));
btCopiar = new JButton("Copiar >>>");cuadro.add(btCopiar);btCopiar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evento){aTexto2.setText(aTexto1.getSelectedText());
}});aTexto2 = new JTextArea(10, 15);aTexto2.setEditable(false);cuadro.add(new JScrollPane(aTexto2));Container contenedor = getContentPane();contenedor.add(cuadro);
setSize(425, 200);setVisible(true);
}
public static void main(String args[]){PruebaAreaTexto ventana = new PruebaAreaTexto();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} }
PruebaBotonesComandoimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class PruebaBotonesComando extends JFrame {
private JButton btSimple, btImagen;public PruebaBotonesComando() {
super("Prueba de Botones de Comando");Container contenedor = getContentPane();contenedor.setLayout(new FlowLayout());btSimple = new JButton("Botón simple");contenedor.add(btSimple);Icon imagen1 = new ImageIcon("img00007.gif");Icon imagen2 = new ImageIcon("bookbig.gif");btImagen = new JButton("Botón con Imagen", imagen1);btImagen.setRolloverIcon(imagen2); //cambia cuando el contenedor.add(btImagen); //ratón se coloca sobre élManejadorBoton escucha = new ManejadorBoton();btSimple.addActionListener(escucha);btImagen.addActionListener(escucha);
setSize(275, 170);setVisible(true);
}
public static void main(String[] args) {PruebaBotonesComando ventana = new PruebaBotonesComando();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class ManejadorBoton implements ActionListener {
public void actionPerformed(ActionEvent evento) {
JOptionPane.showMessageDialog( PruebaBotonesComando.this, "Se seleccionó: " +
evento.getActionCommand());} //actionPerformed
}//ManejadorBoton }
PruebaCasillaVerificacionimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class PruebaCasillaVerificacion extends JFrame{
private JCheckBox negrita, cursiva;private JTextField texto;public PruebaCasillaVerificacion(){
super("Prueba Casillas de Verificación");Container contenedor = getContentPane();contenedor.setLayout(new FlowLayout());texto = new JTextField("Observar el cambio en el estilo" + " de tipo de letra");texto.setFont(new Font("Serif", Font.PLAIN, 14));negrita = new JCheckBox("Negrita");cursiva = new JCheckBox("Cursiva");contenedor.add(texto);contenedor.add(negrita);contenedor.add(cursiva);ManejadorCasillaVerificacion manejador = new ManejadorCasillaVerificacion();negrita.addItemListener(manejador);cursiva.addItemListener(manejador);setSize(300,100);setVisible(true);
}public static void main(String args[]){
PruebaCasillaVerificacion aplicacion = new PruebaCasillaVerificacion();aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}private class ManejadorCasillaVerificacion implements ItemListener{
private int valNegrita = Font.PLAIN;private int valCursiva = Font.PLAIN;
public void itemStateChanged(ItemEvent evento){ if (evento.getSource() == negrita){
valNegrita = negrita.isSelected() ? Font.BOLD : Font.PLAIN; }
if (evento.getSource() == cursiva){ valCursiva = cursiva.isSelected() ? Font.ITALIC : Font.PLAIN; }
texto.setFont(new Font("Serif", valNegrita + valCursiva, 14)); }
}}
PruebaBotonOpcionimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class PruebaBotonOpcion extends JFrame{
private Font tipoLetraSimple, tipoLetraNegrita, tipoLetraCursiva, tipoLetraNegritaCursiva;private JTextField texto;private JRadioButton btSimple, btNegrita, btCursiva, btNegritaCursiva;private ButtonGroup grupoBotones;public PruebaBotonOpcion(){
super("Prueba Botones de Opción"); Container contenedor = getContentPane(); contenedor.setLayout(new FlowLayout());
texto = new JTextField("Observar el cambio en el estilo de tipo de letra"); btSimple = new JRadioButton("Simple", true); btNegrita = new JRadioButton("Negrita", false);
btCursiva = new JRadioButton("Cursiva", false); btNegritaCursiva = new JRadioButton("Negrita/Cursiva", false); grupoBotones = new ButtonGroup();
grupoBotones.add(btSimple); grupoBotones.add(btNegrita);
grupoBotones.add(btCursiva); grupoBotones.add(btNegritaCursiva);
tipoLetraSimple = new Font("Serif", Font.PLAIN, 14); tipoLetraNegrita = new Font("Serif", Font.BOLD, 14);
tipoLetraCursiva = new Font("Serif", Font.ITALIC, 14);tipoLetraNegritaCursiva = new Font("Serif",Font.BOLD + Font.ITALIC,14);texto.setFont(tipoLetraSimple);btSimple.addItemListener(new ManejadorBotonOpcion(tipoLetraSimple));btNegrita.addItemListener(new ManejadorBotonOpcion(tipoLetraNegrita));btCursiva.addItemListener(new ManejadorBotonOpcion(tipoLetraCursiva));btNegritaCursiva.addItemListener(new ManejadorBotonOpcion(tipoLetraNegritaCursiva));contenedor.add(texto); contenedor.add(btSimple);contenedor.add(btNegrita); contenedor.add(btCursiva);contenedor.add(btNegritaCursiva);setSize(345,100); setVisible(true);
}
public static void main(String args[]){PruebaBotonOpcion aplicacion = new PruebaBotonOpcion();aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class ManejadorBotonOpcion implements ItemListener{private Font tipoLetra;public ManejadorBotonOpcion(Font f){
tipoLetra = f; }public void itemStateChanged(ItemEvent evento){
texto.setFont(tipoLetra);}
}}
PruebaListaDesplegableimport javax.swing.*;import java.awt.*;import java.awt.event.*;
public class PruebaListaDesplegable extends JFrame{ private JComboBox lista; private JLabel etiqueta; private String nombres[] = {“p.jpg", “v.jpg", “o.jpg", “i.jpg"}; private Icon iconos[] = { new ImageIcon(nombres[0]), new ImageIcon(nombres[1]), new ImageIcon(nombres[2]), new ImageIcon(nombres[3])
};
public PruebaListaDesplegable(){ super("Prueba Lista Desplegable"); Container contenedor = getContentPane(); contenedor.setLayout(new FlowLayout()); etiqueta = new JLabel("iconos[0]"); lista = new JComboBox(nombres); lista.setMaximumRowCount(3); lista.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent evento){if (evento.getStateChange() == ItemEvent.SELECTED) {
etiqueta.setIcon(iconos[lista.getSelectedIndex()]);}
} });contenedor.add(etiqueta);contenedor.add(lista);setSize(350,200);
setVisible(true); }
public static void main(String args[]){
PruebaListaDesplegable aplicacion = new PruebaListaDesplegable();aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
PruebaListaimport javax.swing.*;import java.awt.*;import javax.swing.event.*;
public class PruebaLista extends JFrame{private JList lista;private Container contenedor;private final String nombres[] = {
"Negro", "Azul", "Cyan", "Gris Oscuro", "Gris", "Verde", "Gris Claro","Magenta", "Naranja", "Rosa", "Rojo", "Blanco", "Amarillo"};
private final Color colores[] = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY,Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE,Color.PINK, Color.RED, Color.WHITE, Color.YELLOW};
public PruebaLista(){super("Prueba Lista");contenedor = getContentPane();contenedor.setLayout(new FlowLayout());lista = new JList(nombres);lista.setVisibleRowCount(5);lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);lista.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent evento){contenedor.setBackground(colores[lista.getSelectedIndex()]);
}});contenedor.add(new JScrollPane(lista));setSize(370,200);setVisible(true);
}
public static void main(String args[]){PruebaLista aplicacion = new PruebaLista();aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
PruebaDeslizadorimport java.awt.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;
public class PruebaDeslizador extends JFrame{private JProgressBar barraProgreso;private ProgressMonitor monitorProgreso;private JSlider deslizador;public PruebaDeslizador() {
super("Ejemplo de Deslizador");Container contenedor = getContentPane();contenedor.setLayout(new GridLayout(2, 1));monitorProgreso = new ProgressMonitor(this, "Monitor de Progreso", "Prueba", 0, 100);monitorProgreso.setProgress(0);monitorProgreso.setMillisToPopup(1000);//el monitor de progreso se incrementa y cierra al llegar al máximodeslizador = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);//orientación, valor mínimo, máximo y valor inicialdeslizador.setValue(0);//define el valor inicial en 0 (otra vez)deslizador.setPaintTicks(true); //muestra las marcas del deslizadordeslizador.setMajorTickSpacing(20);//define marcas mayores cada 20%deslizador.setMinorTickSpacing(5);//define marcas menores cada 5%deslizador.setPaintLabels(true);//muestra etiquetas en las marcasdeslizador.setBorder(new TitledBorder("Deslízame"));//agrega bordedeslizador.addChangeListener(new ChangeListener() {//(JComponent) con título
public void stateChanged(ChangeEvent e) {monitorProgreso.setProgress(deslizador.getValue());
}});barraProgreso = new JProgressBar();barraProgreso.setStringPainted(true); //muestra etiqueta de porcentajebarraProgreso.setForeground(Color.blue); //indica color de fondobarraProgreso.setModel(deslizador.getModel());//asocia el deslizador y la barra de progreso al compartir modeloscontenedor.add(barraProgreso);contenedor.add(deslizador);setSize(275, 170);setVisible(true);
}
public static void main(String args[]){PruebaDeslizador aplicacion = new PruebaDeslizador();aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}} //clase
PruebaMenuimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class PruebaMenu extends JFrame {
private Color coloresVal[] = {Color.black, Color.blue,Color.red, Color.green};private JMenuBar barraMenu;private JMenu menuArchivo, menuFormato, menuColor, menuFont;private JMenuItem opcionAcercaDe, opcionSalir;private JToolBar barraHtas;private ButtonGroup gbFont, gbColor;private JButton btSalir;private JRadioButtonMenuItem opcionesColor[], opcionesFont[];private JCheckBoxMenuItem opcionesEstilo[];private JLabel despliega;private int estilo;public PruebaMenu(){
super("Uso de Menus y Barra de Herramientas");EventoSalir evSalir = new EventoSalir(); //objetos manejadores de eventosEventoOpcion evOpcion = new EventoOpcion();EventoEstilo evEstilo = new EventoEstilo();menuArchivo = new JMenu("Archivo"); //definición del menú Archivo menuArchivo.setMnemonic('A');opcionAcercaDe = new JMenuItem("Acerca de..."); //subopción AcercaDeopcionAcercaDe.setMnemonic('A');opcionAcercaDe.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){JOptionPane.showMessageDialog(PruebaMenu.this,
"Este es un ejemplo \nde uso de menús","Acerca De...", JOptionPane.PLAIN_MESSAGE);
}});
menuArchivo.add(opcionAcercaDe); opcionSalir = new JMenuItem("Salir"); //subopción salir del menú ArchivoopcionSalir.setMnemonic('S');opcionSalir.setToolTipText("Salir del Programa"); opcionSalir.addActionListener (evSalir);menuArchivo.add(opcionSalir); menuFormato = new JMenu("Formato"); //definición del menú FormatomenuFormato.setMnemonic('F');menuFormato.setToolTipText("Cambia Formato de Texto");String colores[] = {"Negro", "Azul", "Rojo", "Verde"}; //Submenú ColormenuColor = new JMenu("Color");menuColor.setMnemonic('C');menuColor.setToolTipText("Cambia Color del Texto");opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopcion ColorgbColor = new ButtonGroup();for (int i = 0; i < colores.length; i++) {
opcionesColor[i] = new JRadioButtonMenuItem(colores[i]);menuColor.add(opcionesColor[i]);opcionesColor[i].setMnemonic(colores[i].charAt(0)); //opciones de coloresgbColor.add(opcionesColor[i]);opcionesColor[i].addActionListener(evOpcion);
}opcionesColor[0].setSelected(true);String nombresFont[] = {"TimesRoman", "Courier", "Helvética"}; //submenú FontmenuFont = new JMenu("Font");menuFont.setMnemonic('F');opcionesFont = new JRadioButtonMenuItem[nombresFont.length];gbFont = new ButtonGroup();for(int i = 0; i < opcionesFont.length; i++){ //definición de subopciones Font
opcionesFont[i] = new JRadioButtonMenuItem(nombresFont[i]);menuFont.add(opcionesFont[i]);gbFont.add(opcionesFont[i]);opcionesFont[i].setMnemonic(nombresFont[i].charAt(0)); //opciones tipo letraopcionesFont[i].addActionListener(evOpcion);
}
opcionesFont[0].setSelected(true);menuFont.addSeparator();String nombresEstilo[] = {"Negritas", "Itálica"}; //submenú Estilo de FormatoopcionesEstilo = new JCheckBoxMenuItem[nombresEstilo.length];for(int i = 0; i < nombresEstilo.length; i++) {
opcionesEstilo[i] = new JCheckBoxMenuItem(nombresEstilo[i]);menuFont.add(opcionesEstilo[i]);opcionesEstilo[i].setMnemonic(nombresEstilo[i].charAt(0));opcionesEstilo[i].addItemListener(evEstilo);
}menuFormato.add(menuColor); //termina la definición del menú formatomenuFormato.addSeparator();menuFormato.add(menuFont); barraHtas = new JToolBar(); //definición de la barra de herramientasbtSalir = new JButton(new ImageIcon("img00007.gif")); //botón salir de la barrabtSalir.setToolTipText("Salir del Sistema");btSalir.addActionListener(evSalir);barraHtas.add(btSalir);despliega = new JLabel("Texto Ejemplo", SwingConstants.CENTER); //Etiquetadespliega.setForeground(coloresVal[0]);despliega.setFont(new Font("TimesRoman", Font.PLAIN, 72));getContentPane().setBackground(Color.cyan); //contenedor de ventanagetContentPane().add(barraHtas, BorderLayout.NORTH);getContentPane().add(despliega, BorderLayout.CENTER);barraMenu = new JMenuBar(); //barra de menúsbarraMenu.add(menuArchivo);barraMenu.add(menuFormato);setJMenuBar(barraMenu); //definición de ventanasetSize(600, 300);setVisible(true);
}public static void main(String args[]) {
PruebaMenu app = new PruebaMenu();app.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {System.exit(0);
}});
}private class EventoSalir implements ActionListener {
public void actionPerformed(ActionEvent e){System.exit(0);
}}
private class EventoOpcion implements ActionListener {public void actionPerformed(ActionEvent e) {
for (int i = 0; i < opcionesColor.length; i++) {if (opcionesColor[i].isSelected() ) {
despliega.setForeground(coloresVal[i]);break;
}}for (int i = 0; i < opcionesFont.length; i++) {
if (e.getSource() == opcionesFont[i] ) {despliega.setFont(new Font( opcionesFont[i].getText(), estilo, 72));break;
}}repaint();
}}private class EventoEstilo implements ItemListener {
public void itemStateChanged(ItemEvent e) {estilo = 0;if ( opcionesEstilo[0].isSelected() ) {
estilo += Font.BOLD;}if ( opcionesEstilo[1].isSelected() ) {
estilo += Font.ITALIC;}despliega.setFont(new Font(despliega.getFont().getName(), estilo, 72));repaint();
}}
}
PruebaMenuContextualimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class PruebaMenuContextual extends JFrame {
private JRadioButtonMenuItem opcionesColor[];private ButtonGroup gbColor;private final Color coloresVal[]={Color.BLUE,Color.YELLOW,Color.RED, Color.GREEN};private JPopupMenu menuContextual;public PruebaMenuContextual(){
super("Uso de Menú Contextual");EventoFondo evFondo = new EventoFondo(); //objeto manejador de eventosString colores[] = {"Azul", "Amarillo", "Rojo", "Verde"}; //menú contextualgbColor = new ButtonGroup();menuContextual = new JPopupMenu(); opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopciones Colorfor (int i = 0; i < opcionesColor.length; i++) {
opcionesColor[i] = new JRadioButtonMenuItem(colores[i]);menuContextual.add(opcionesColor[i]); gbColor.add(opcionesColor[i]); //agrega opciones de colores al menúopcionesColor[i].addActionListener(evFondo);
}getContentPane().addMouseListener (new MouseAdapter() { //evento muestrar menú contextual
public void mousePressed(MouseEvent evento){checkForTriggerEvent(evento);
}public void mouseClicked(MouseEvent evento){
checkForTriggerEvent(evento); }public void mouseRelease(MouseEvent evento){
checkForTriggerEvent(evento); }private void checkForTriggerEvent(MouseEvent evento){//NOTA IMPORTANTE: si la JVM no identifica el evento como disparador de menú //contextual en la plataforma no se muestra el menú, en ese caso, para probar//el programa se puede modificar la siguiente línea, indicando el evento//if(evento.isPopupTrigger()){
if( ! evento.isPopupTrigger()){menuContextual.show(evento.getComponent(), evento.getX(), evento.getY());
}}
});
getContentPane().setBackground(Color.WHITE); //definición de la ventanasetSize(300, 200);setVisible(true);
}
public static void main(String args[]) {PruebaMenuContextual ventana = new PruebaMenuContextual();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class EventoFondo implements ActionListener {public void actionPerformed(ActionEvent evento) {
for (int i = 0; i < opcionesColor.length; i++) {if (evento.getSource() == opcionesColor[i]){
getContentPane().setBackground(coloresVal[i]);return;
}}
}}
}
PruebaBoxLayoutimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class PruebaBoxLayout extends JFrame{
public PruebaBoxLayout() {super("Prueba BoxLayout");Box horizontal1 = Box.createHorizontalBox();Box vertical1 = Box.createVerticalBox();Box horizontal2 = Box.createHorizontalBox();Box vertical2 = Box.createVerticalBox();final int TAMANO = 3;for (int i = 0; i < TAMANO; i++){
horizontal1.add(new JButton("Botón " + i)); //juntos}for (int i = 0; i < TAMANO; i++){
vertical1.add(Box.createVerticalStrut(25)); //espacio fijovertical1.add(new JButton("Botón " + i));
}for (int i = 0; i < TAMANO; i++){
horizontal2.add(Box.createHorizontalGlue()); //ajustahorizontal2.add(new JButton("Botón " + i));
}for (int i = 0; i < TAMANO; i++){
vertical2.add(Box.createRigidArea(new Dimension(12, 8)));vertical2.add(new JButton("Botón " + i));
}JPanel panel = new JPanel();panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));for (int i = 0; i < TAMANO; i++){
panel.add(Box.createGlue()); //ajusta en Ypanel.add(new JButton("Botón " + i));
}JTabbedPane folders = new JTabbedPane(JTabbedPane.TOP,
JTabbedPane.SCROLL_TAB_LAYOUT);folders.addTab("Cuadro Horizontal", horizontal1);folders.addTab("Cuadro Vertical con montante", vertical1);folders.addTab("Cuadro Horizontal con pegamento", horizontal2);folders.addTab("Cuadro Vertical con área rígida", vertical2);folders.addTab("Cuadro Vertical con pegamento", panel);
getContentPane().add(folders);setSize(400, 220);setVisible(true);
}
public static void main(String[] args){PruebaBoxLayout ventana = new PruebaBoxLayout();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
PruebaCardLayoutimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class PruebaCardLayout extends JFrame {
JPanel pnSuperior, pnCentral, pnFicha1, pnFicha2;JComboBox lsPaneles;//arreglo necesario para que nombre sea siempre el mismoString opcionesS[] = {"Panel con Botones", "Panel con Campo de Texto"};
public PruebaCardLayout() {super("Prueba CardLayout");setLayout( new BorderLayout() );lsPaneles = new JComboBox(); lsPaneles.addItem(opcionesS[0]);lsPaneles.addItem(opcionesS[1]);pnSuperior = new JPanel();pnSuperior.add( lsPaneles ); add( BorderLayout.NORTH, pnSuperior );pnCentral = new JPanel();pnCentral.setLayout( new CardLayout() );
pnFicha1 = new JPanel(); //prepara la primera ficha del CardLayoutpnFicha1.add( new JButton( "Botón 1" ) );pnFicha1.add( new JButton( "Botón 2" ) );pnFicha1.add( new JButton( "Botón 3" ) );pnFicha2 = new JPanel(); //prepara la segunda ficha del CardLayoutpnFicha2.add( new JTextField( "Texto",20 ) );pnCentral.add(pnFicha1, opcionesS[0]);pnCentral.add(pnFicha2, opcionesS[1]); add( BorderLayout.CENTER, pnCentral );lsPaneles.addItemListener(new ItemListener() { //evento intercambia las fichas
public void itemStateChanged(ItemEvent evento){ ((CardLayout)pnCentral.getLayout()).show(pnCentral,(String)evento.getItem());
}});setSize(300, 150);setVisible(true);
}public static void main(String args[]){
PruebaCardLayout ventana = new PruebaCardLayout();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
// Demostración de GridBagLayout.import java.awt.*;import java.awt.event.*;import javax.swing.*;
public class DemoGridBag extends JFrame{ private Container contenedor; private GridBagLayout esquema; private GridBagConstraints restricciones; // configurar GUI public DemoGridBag() { super( "GridBagLayout" );
contenedor = getContentPane(); esquema = new GridBagLayout(); contenedor.setLayout( esquema );
// instanciar restricciones de GridBagLayout restricciones = new GridBagConstraints();
// crear componentes de GUI JTextArea areaTexto1 = new JTextArea( "AreaTexto1", 5, 10 ); JTextArea areaTexto2 = new JTextArea( "AreaTexto2", 2, 2 );
String nombres[] = { "Hierro", "Acero", "Cobre" }; JComboBox cuadroCombinado = new JComboBox( nombres );
JTextField campoTexto = new JTextField( "CampoTexto" ); JButton boton1 = new JButton( "Botón 1" ); JButton boton2 = new JButton( "Botón 2" ); JButton boton3 = new JButton( "Botón 3" );
// weightx y weighty para areaTexto1 son 0: el valor predeterminado // anchor para todos los componentes es CENTER: el valor predeterminado restricciones.fill = GridBagConstraints.BOTH; agregarComponente( areaTexto1, 0, 0, 1, 3 );
DemoGridBag
// weightx y weighty para boton1 son 0: el valor predeterminado restricciones.fill = GridBagConstraints.HORIZONTAL; agregarComponente( boton1, 0, 1, 2, 1 ); // weightx y weighty para cuadroCombinado son 0: el valor predeterminado // fill es HORIZONTAL agregarComponente( cuadroCombinado, 2, 1, 2, 1 );
// boton2 restricciones.weightx = 1000; // puede hacerse más ancho restricciones.weighty = 1; // puede hacerse más largo restricciones.fill = GridBagConstraints.BOTH; agregarComponente( boton2, 1, 1, 1, 1 ); // fill es BOTH para boton3 restricciones.weightx = 0; restricciones.weighty = 0; agregarComponente( boton3, 1, 2, 1, 1 ); // weightx y weighty para campoTexto son 0, fill es BOTH agregarComponente( campoTexto, 3, 0, 2, 1 );
// weightx y weighty para areaTexto2 son 0, fill es BOTH agregarComponente( areaTexto2, 3, 2, 1, 1 );
setSize( 300, 150 ); setVisible( true );
} // fin del constructor de DemoGridBag
// método para establecer restricciones 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 ); }
public static void main( String args[] ) { DemoGridBag aplicacion = new DemoGridBag(); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); }
}
PruebaGridBagLayoutimport java.awt.*;import javax.swing.*;
public class PruebaGridBagLayout extends JFrame {private GridBagLayout gridbag = new GridBagLayout();private GridBagConstraints restricciones = new GridBagConstraints();
public PruebaGridBagLayout() { super("Prueba GridBagLayout");setLayout(gridbag);String valoresLista[] = {"uno", "dos", "tres", "cuatro", "cinco", "seis"};JList lista = new JList(valoresLista);lista.setVisibleRowCount(3);addComponente(new JLabel("Nombre:"), 0, 0, 1, 1 );restricciones.weightx = 1;addComponente(new JTextField("Text", 12), 1, 0, 2, 1 );restricciones.weightx = 1;addComponente(new JTextArea("Area Texto", 5, 10), 0, 1, 1, 3 );addComponente(new JCheckBox("Sí?"), 2, 1, 1, 1 );addComponente(new JScrollPane(lista), 2, 2, 1, 1 );setSize(300, 250);setVisible(true);
}
public static void main(String args[]){ PruebaGridBagLayout ventana = new PruebaGridBagLayout();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void addComponente( Component componente, int columna, int fila, int ancho, int alto){GridBagConstraints restricciones = new GridBagConstraints();restricciones.gridx = fila;restricciones.gridy = columna;restricciones.gridwidth = ancho;restricciones.gridheight = alto;gridbag.setConstraints(componente, restricciones );this.add(componente );
}}
TABLAEditorAbstractoDeCelda.java//Clase EditorAbstractoDeCelda.javaimport java.util.*;import java.awt.event.*;import javax.swing.event.*;import javax.swing.table.*;public abstract class EditorAbstractoDeCelda implements TableCellEditor{
protected EventListenerList eventoLista = new EventListenerList();protected Object valor;protected ChangeEvent eventoCambio = null;protected int iniciaCuenta = 1;public void addCellEditorListener(CellEditorListener evento){
eventoLista.add(CellEditorListener.class, evento);}public void removeCellEditorListener(CellEditorListener evento){
eventoLista.remove(CellEditorListener.class, evento);}public void desencadenaTerminarEdicion(){
Object [] eventos = eventoLista.getListenerList();for(int i = eventos.length - 2; i >= 0; i-=2){
if(eventos[i] == CellEditorListener.class){if (eventoCambio == null){
eventoCambio = new ChangeEvent(this);}
((CellEditorListener) eventos[i+1]).editingStopped(eventoCambio);}
}}public void desencadenaCancelarEdicion(){
Object [] eventos = eventoLista.getListenerList();for(int i = eventos.length - 2; i >= 0; i-=2){
if(eventos[i] == CellEditorListener.class){if (eventoCambio == null){
eventoCambio = new ChangeEvent(this);}
((CellEditorListener) eventos[i+1]).editingCanceled(eventoCambio);}
}}
public Object getCellEditorValue(){return valor;
}public void setCellEditorValue(Object valor){
this.valor = valor;}public void setIniciaCuenta(int cuenta){
iniciaCuenta = cuenta;}public int getIniciaCuenta(){
return iniciaCuenta;}public boolean isCellEditable(EventObject evento){
if (evento instanceof MouseEvent){if (((MouseEvent)evento).getClickCount() < iniciaCuenta){
return false;}
}return true;
}public boolean shouldSelectCell(EventObject evento) {
return true;}public boolean stopCellEditing(){
desencadenaTerminarEdicion();return true;
}public void cancelCellEditing(){
desencadenaCancelarEdicion();}
}
TABLAEditorFoco//Clase EditorFoco.javaimport java.awt.*;import java.awt.event.*;
import javax.swing.*;
public class EditorFoco extends EditorAbstractoDeCelda {
ExhibidorFoco exhibidor = new ExhibidorFoco();
public EditorFoco() {exhibidor.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evento){SwingUtilities.invokeLater(new Runnable(){
public void run() {setCellEditorValue(Boolean.TRUE);desencadenaTerminarEdicion();
}});
}});
}
public Component getTableCellEditorComponent(JTable tabla, Object valor, boolean seleccionado,int renglon, int columna) {
return exhibidor.getTableCellRendererComponent(tabla, valor, seleccionado, true, renglon, columna);
}}
TABLAEditorPrecio//Clase EditorPrecio.javaimport javax.swing.*;import java.util.*;
public class EditorPrecio extends DefaultCellEditor {
public EditorPrecio(JComboBox combo) {super(combo);
}
public boolean isCellEditable(EventObject evento){
JPanel panelMensaje = new JPanel();JPasswordField clave = new JPasswordField("prueba", 10);
panelMensaje.add(new JLabel("Password:"));panelMensaje.add(clave);
JOptionPane.showMessageDialog(null, panelMensaje, "Se requiere password",
JOptionPane.INFORMATION_MESSAGE);
if ((new String(clave.getPassword())).equals("prueba")){return true;
} else {JOptionPane.showMessageDialog(null, "Clave Incorrecta!",
"Falló el acceso", JOptionPane.INFORMATION_MESSAGE);
return false;}
}}
TABLAClase EditorExistencias//Clase EditorExistencias.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;
public class EditorExistencias extends EditorAbstractoDeCelda {
ExhibidorExistencias exhibidor = new ExhibidorExistencias();
public EditorExistencias(){exhibidor.getEtiqueta().addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent evento){if(evento.getClickCount() == 2){
cancelCellEditing();}
}});
}
public Component getTableCellEditorComponent(
JTable tabla, Object valor, boolean seleccionado, int renglon, int columna){
JSlider deslizador = exhibidor.getDeslizador();deslizador.setValue(((Integer)valor).intValue());return exhibidor;
}
public boolean stopCellEditing(){
JSlider deslizador = exhibidor.getDeslizador();setCellEditorValue(new Integer(deslizador.getValue()));
return super.stopCellEditing();}
}
TABLAExhibidorFoco//Clase ExhibidorFoco.javaimport java.awt.*;import javax.swing.*;import javax.swing.table.*;
public class ExhibidorFoco extends DefaultTableCellRenderer{
private ImageIcon focoApagado = new ImageIcon("base.jpg"),focoEncendido = new
ImageIcon("bomber_tir.jpg");
public ExhibidorFoco(){setHorizontalAlignment(JLabel.CENTER);
}
public Component getTableCellRendererComponent(JTable tabla, Object valor, boolean seleccionado, boolean tieneFoco, int renglon, int columna){
Boolean logico = (Boolean)valor;setIcon(logico.booleanValue() ? focoEncendido : focoApagado);return this;
}}
TABLAExhibidorExistencias.java//Clase ExhibidorExistencias.javaimport java.awt.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.*;public class ExhibidorExistencias
extends JPanel implements TableCellRenderer{private JSlider deslizador = new JSlider();private JLabel etiqueta = new JLabel("valor");public ExhibidorExistencias(){
deslizador.setOrientation(SwingConstants.HORIZONTAL);deslizador.setPreferredSize(new Dimension(200, 30));deslizador.putClientProperty("JSlider.isFilled", Boolean.TRUE);etiqueta.setHorizontalAlignment(JLabel.CENTER);etiqueta.setHorizontalTextPosition(JLabel.CENTER);setLayout(new BorderLayout());add(etiqueta, BorderLayout.NORTH);add(deslizador, BorderLayout.CENTER);deslizador.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent evento){etiqueta.setText(Integer.toString(deslizador.getValue()));
}});
}public Component getTableCellRendererComponent(
JTable tabla, Object valor, boolean seleccionado, boolean tieneFoco, int renglon, int columna){
Integer val = (Integer)valor;deslizador.setValue(val.intValue());etiqueta.setText(val.toString());deslizador.setEnabled(seleccionado);etiqueta.setEnabled(seleccionado);return this;
}public JSlider getDeslizador(){
return deslizador;}public JLabel getEtiqueta(){
return etiqueta;}
}
TABLAModeloPersonalizado.java//Clase ModeloPersonalizado.javaimport javax.swing.table.*;public class ModeloPersonalizado extends AbstractTableModel{
private String nombreColumnas[] = {"Seleccionado", "Descripción","Precio", "Garantía", "En Venta", "Existencias"};
private Object datos[][] = {{Boolean.FALSE, "Mesa", new Double(1475.50),Boolean.TRUE, Boolean.TRUE, new Integer(10)},{Boolean.FALSE, "Silla", new Double(475.80), Boolean.TRUE, Boolean.TRUE, new Integer(40)}};
public Object getValueAt(int renglon, int columna){return datos[renglon][columna];
}public int getRowCount(){
return datos.length;}public int getColumnCount(){
return nombreColumnas.length;}public String getColumnName(int columna){
return nombreColumnas[columna];}public Class getColumnClass(int columna){
return datos[0][columna].getClass();}public void setValueAt(Object valor, int renglon, int columna){
datos[renglon][columna] = valor;fireTableCellUpdated(renglon, columna);
}public boolean isCellEditable(int renglon, int columna){
Class clase = getColumnClass(columna);String nombre = getColumnName(columna);return (clase == Boolean.class && !nombre.equals("En Venta")) ||
clase == Integer.class || clase == Double.class;}public void actualizaFocos(int renglonSeleccionado){
for(int renglon= 0; renglon < getRowCount(); ++renglon){datos[renglon][0] = new Boolean(renglon == renglonSeleccionado);
}}
}
//Clase PruebaTablas.javaimport java.text.*;import java.awt.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.*;
public class PruebaTablas extends JFrame {private JTable tabla = new JTable(new ModeloPersonalizado());JPanel panelSuperior, panelCentral;
public PruebaTablas() {super("Prueba Tabla");panelSuperior = new JPanel();panelCentral = new JPanel();inicializaColumnaSeleccionado();inicializaColumnaPrecio();inicializaColumnaExistencias();dimensionaColumnas();tabla.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);tabla.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {public void valueChanged(ListSelectionEvent evento){
ModeloPersonalizado modelo = (ModeloPersonalizado)tabla.getModel();
if (!evento.getValueIsAdjusting()){ modelo.actualizaFocos(tabla.getSelectedRow()); tabla.repaint();}
}});panelSuperior.add(new JLabel("Lista de Productos"));panelCentral.add(new JScrollPane(tabla));getContentPane().add(panelSuperior, BorderLayout.NORTH);getContentPane().add(panelCentral, BorderLayout.CENTER);setLocation(300,300);setSize(559, 400);setVisible(true);
}
TABLA 2PruebaTablas
public static void main(String[] args) {PruebaTablas ventana = new PruebaTablas();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void inicializaColumnaSeleccionado(){TableColumn columnaSeleccionado = tabla.getColumn("Seleccionado");columnaSeleccionado.setCellRenderer(new ExhibidorFoco());columnaSeleccionado.setCellEditor(new EditorFoco());
}
private void inicializaColumnaPrecio(){TableColumn columnaPrecio = tabla.getColumn("Precio");JComboBox combo = new JComboBox();combo.addItem(new Double(1780.00));combo.addItem(new Double(1895.45));combo.addItem(new Double(1963.10));combo.addItem(new Double(2114.85));combo.addItem(new Double(2549.99));combo.setRenderer(new ExhibidorMonedaListaCelda());columnaPrecio.setCellRenderer(new ExhibidorMonedaTablaCelda());columnaPrecio.setCellEditor(new EditorPrecio(combo));
}
private void inicializaColumnaExistencias(){TableColumn columnaExistencias = tabla.getColumn("Existencias");TableCellRenderer exhibidor = new ExhibidorExistencias();TableCellEditor editor = new EditorExistencias();columnaExistencias.setCellRenderer(exhibidor);columnaExistencias.setCellEditor(editor);Dimension tamano = ((JPanel)exhibidor).getPreferredSize();tabla.setRowHeight(tamano.height);
}
private void dimensionaColumnas(){TableColumn columna;for (int i = 0; i <= 5; i++){
columna = tabla.getColumn(tabla.getColumnName(i));int ancho = getMejorAnchoColumna(columna);columna.setMinWidth(ancho);
}}
private int getMejorAnchoColumna(TableColumn columna){int anchoEncabezado = anchoEncabezado(columna),
anchoInfo = anchoInfo(columna);return anchoEncabezado > anchoInfo ? anchoEncabezado : anchoInfo;
}
private int anchoEncabezado(TableColumn columna){return (columna.getHeaderValue().toString()).length();
}
private int anchoInfo(TableColumn columna){int col = columna.getModelIndex(), ancho = 0, max = 0;for (int renglon = 0; renglon < tabla.getRowCount(); renglon++){
TableCellRenderer exhibidor = tabla.getCellRenderer(renglon, col);
Component comp = exhibidor.getTableCellRendererComponent(tabla, tabla.getValueAt(renglon, col), false, false, renglon, col);
ancho = comp.getPreferredSize().width;max = ancho > max ? ancho : max;
}return max;
}
private class ExhibidorMonedaListaCelda extends DefaultListCellRenderer {public Component getListCellRendererComponent(
JList lista, Object valor, int indice, boolean seleccionado, boolean tieneFoco){
JLabel etiqueta = (JLabel)super.getListCellRendererComponent(lista, valor, indice, seleccionado, tieneFoco);
Format formato = NumberFormat.getCurrencyInstance();etiqueta.setText(valor == null ? "" : formato.format(valor));return etiqueta;
}}
private class ExhibidorMonedaTablaCelda extends DefaultTableCellRenderer {public void setValur(Object valor){
Format formato = NumberFormat.getCurrencyInstance();setText(valor == null ? "" : formato.format(valor));
}}
}
TABLAPruebaTablaimport java.util.*;import java.awt.*;import javax.swing.*;import javax.swing.table.*;
public class PruebaTabla extends JFrame{JTable tabla = new JTable(
new AbstractTableModel(){int rens = 100, cols = 10;public int getRowCount(){
return rens;}public int getColumnCount(){
return cols;}public Object getValueAt(int ren, int col){
return "(" + ren + ", " + col + ")";}
});
public PruebaTabla(){super ("Ventana de Prueba de Tabla");Container cont = getContentPane();cont.add(tabla, BorderLayout.CENTER);setSize(300, 250);setVisible(true);
}
public static void main(String args[]){PruebaTabla ventana = new PruebaTabla();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
PruebaIGUimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;public class PruebaIGU extends JFrame {
private Container cont;private JDesktopPane escritorio;private JMenuBar barraMenu;private JMenu menuAlumno;private JMenuItem opAlta, opConsulta, opSalir;public PruebaIGU(){
super("Prueba Ventanas");escritorio = new JDesktopPane();cont = getContentPane();cont.add(escritorio);menuAlumno = new JMenu("Alumno");menuAlumno.setMnemonic('A');opAlta = new JMenuItem("Alta de Alumnos");opAlta.setMnemonic('A');opAlta.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){VentanaAlta vnAlta = new VentanaAlta();vnAlta.pack();escritorio.add(vnAlta);vnAlta.setSize(680, 430);vnAlta.setVisible(true);
}});menuAlumno.add(opAlta); opConsulta = new JMenuItem("Lista de Alumnos");opConsulta.setMnemonic('L');opConsulta.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){VentanaConsulta vnConsulta = new VentanaConsulta();vnConsulta.pack();escritorio.add(vnConsulta);vnConsulta.setSize(680, 430);vnConsulta.setVisible(true);
}});
menuAlumno.add(opConsulta);opSalir = new JMenuItem("Salir");opSalir.setMnemonic('S');opSalir.setToolTipText("Salir del Programa"); opSalir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){System.exit(0);
}});menuAlumno.add(opSalir);barraMenu = new JMenuBar();barraMenu.add(menuAlumno);setJMenuBar(barraMenu);setDefaultLookAndFeelDecorated(true);setLocation(200, 150);setSize(700, 500);setVisible(true);
}private class VentanaConsulta extends JInternalFrame{
private GridBagLayout gridBag = new GridBagLayout();private JPanel pnOtros = new JPanel();private JButton btLimpiar, btSalir;private JTextField txNombre, txApPaterno, txApMaterno;JInternalFrame ventana = this;public VentanaConsulta(){
super("Consulta de Alumno", true, true, true, true);setLayout(new GridLayout(3, 1));ventana = this;JPanel pnNombre = new JPanel();pnNombre.setLayout(new FlowLayout());pnNombre.add( new JLabel( "Consulta:" ) );JPanel pnBotones = new JPanel();pnBotones.setLayout(new FlowLayout());btSalir = new JButton( "Cerrar" );btSalir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {ventana.doDefaultCloseAction();
}});pnBotones.add( btSalir );add(pnNombre);add(pnBotones);
}
}public static void main(String args[]){
PruebaIGU ventana = new PruebaIGU();ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}}
NOTA
NO.NOTAFECHATIPO.NOTAMATERIALPESOPRECIOTOTALTIPO_PAGO
NOTASCOMPRAVENTA
CHEQUESNO.CHEQUEFECHACONCEPTOCANTIDAD
FACTURAS
NO.FACTURAFECHAIVATOTALNOTA_REFERENCIA
GATOSFECHACONCEPTOTOTALTIPO_PAGOTIPO_PAGO
CHEQUEEFECTIVO
MATERIALES
A/C2DAANGULOCORTEPLACADISCOSFLECHALAMINAMONTENPTRREDONDOSOLERATUBOVIGUETA