SlideShare una empresa de Scribd logo
1 de 50
PruebaFrame


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);
    }

}
PruebaFlowLayout
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);
     }
PruebaBorderLayout
import 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);
                 }
}
PruebaEtiqueta
import 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);
                 }
}
PruebaCamposTexto
import 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
DIALOGO
Dialogo
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);
                  }
}
DIALOGO
PruebaDialogo
import 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);
                   }
}
PruebaAreaTexto
import 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 paran" +
                                                   "ilustrar cómo copiar texton de un área de texto a n" +
                                                   "otra, utilizando unnevento externon";

                                  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);
                 }
}
PruebaBotonesComando
import 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 él
                                                    ManejadorBoton 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
}
PruebaCasillaVerificacion
import 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));
                                      }
                  }
}
PruebaBotonOpcion
import 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);
                     }
    }
}
PruebaListaDesplegable
import 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);
                 }
}
PruebaLista
import 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);
                  }
}
PruebaDeslizador
import 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áximo
                                     deslizador = new JSlider(JSlider.HORIZONTAL, 0, 100, 0);
                                     //orientación, valor mínimo, máximo y valor inicial
                                     deslizador.setValue(0);//define el valor inicial en 0 (otra vez)
                                     deslizador.setPaintTicks(true);       //muestra las marcas del deslizador
                                     deslizador.setMajorTickSpacing(20);//define marcas mayores cada 20%
                                     deslizador.setMinorTickSpacing(5);//define marcas menores cada 5%
                                     deslizador.setPaintLabels(true);//muestra etiquetas en las marcas
                                     deslizador.setBorder(new TitledBorder("Deslízame"));//agrega borde
                                     deslizador.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 porcentaje
                                     barraProgreso.setForeground(Color.blue); //indica color de fondo
                                     barraProgreso.setModel(deslizador.getModel());
                                     //asocia el deslizador y la barra de progreso al compartir modelos
                                     contenedor.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
PruebaMenu
import 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 eventos
                                      EventoOpcion 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 AcercaDe
                                      opcionAcercaDe.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ú Archivo
opcionSalir.setMnemonic('S');
opcionSalir.setToolTipText("Salir del Programa");
opcionSalir.addActionListener (evSalir);
menuArchivo.add(opcionSalir);
menuFormato = new JMenu("Formato"); //definición del menú Formato
menuFormato.setMnemonic('F');
menuFormato.setToolTipText("Cambia Formato de Texto");
String colores[] = {"Negro", "Azul", "Rojo", "Verde"}; //Submenú Color
menuColor = new JMenu("Color");
menuColor.setMnemonic('C');
menuColor.setToolTipText("Cambia Color del Texto");
opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopcion Color
gbColor = 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 colores
                      gbColor.add(opcionesColor[i]);
                      opcionesColor[i].addActionListener(evOpcion);
}
opcionesColor[0].setSelected(true);
String nombresFont[] = {"TimesRoman", "Courier", "Helvética"}; //submenú Font
menuFont = 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 letra
                      opcionesFont[i].addActionListener(evOpcion);
}
opcionesFont[0].setSelected(true);
                 menuFont.addSeparator();
                 String nombresEstilo[] = {"Negritas", "Itálica"}; //submenú Estilo de Formato
                 opcionesEstilo = 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ú formato
                 menuFormato.addSeparator();
                 menuFormato.add(menuFont);
                 barraHtas = new JToolBar(); //definición de la barra de herramientas
                 btSalir = new JButton(new ImageIcon("img00007.gif")); //botón salir de la barra
                 btSalir.setToolTipText("Salir del Sistema");
                 btSalir.addActionListener(evSalir);
                 barraHtas.add(btSalir);
                 despliega = new JLabel("Texto Ejemplo", SwingConstants.CENTER); //Etiqueta
                 despliega.setForeground(coloresVal[0]);
                 despliega.setFont(new Font("TimesRoman", Font.PLAIN, 72));
                 getContentPane().setBackground(Color.cyan); //contenedor de ventana
                 getContentPane().add(barraHtas, BorderLayout.NORTH);
                 getContentPane().add(despliega, BorderLayout.CENTER);
                 barraMenu = new JMenuBar(); //barra de menús
                 barraMenu.add(menuArchivo);
                 barraMenu.add(menuFormato);
                 setJMenuBar(barraMenu); //definición de ventana
                 setSize(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();
                      }
    }
}
PruebaMenuContextual
import 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 eventos
                                     String colores[] = {"Azul", "Amarillo", "Rojo", "Verde"};                   //menú contextual
                                     gbColor = new ButtonGroup();
                                     menuContextual = new JPopupMenu();
                                     opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopciones Color
                                     for (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 ventana
                      setSize(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;
                                                              }
                                        }
                      }
    }
}
PruebaBoxLayout
import 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 fijo
                                                        vertical1.add(new JButton("Botón " + i));
                                  }
                                  for (int i = 0; i < TAMANO; i++){
                                                        horizontal2.add(Box.createHorizontalGlue()); //ajusta
                                                        horizontal2.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 Y
                                                        panel.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);
    }
}
PruebaCardLayout
import 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 mismo
                  String 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 CardLayout
                                  pnFicha1.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 CardLayout
                                  pnFicha2.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);
                 }
}
DemoGridBag
// 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 );
// weightx y weighty para boton1 son 0: el valor predeterminado              // establecer gridwidth y gridheight
   restricciones.fill = GridBagConstraints.HORIZONTAL;                          restricciones.gridwidth = anchura;
   agregarComponente( boton1, 0, 1, 2, 1 );                                     restricciones.gridheight = altura;

  // weightx y weighty para cuadroCombinado son 0: el valor predeterminado           // establecer restricciones y agregar componente
  // fill es HORIZONTAL                                                              esquema.setConstraints( componente, restricciones );
  agregarComponente( cuadroCombinado, 2, 1, 2, 1 );                                  contenedor.add( componente );
                                                                                 }
  // boton2
  restricciones.weightx = 1000; // puede hacerse más ancho                       public static void main( String args[] )
  restricciones.weighty = 1; // puede hacerse más largo                          {
  restricciones.fill = GridBagConstraints.BOTH;                                    DemoGridBag aplicacion = new DemoGridBag();
  agregarComponente( boton2, 1, 1, 1, 1 );                                         aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                                                                                 }
  // 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;
PruebaGridBagLayout
import 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 );
                 }
}
TABLA
EditorAbstractoDeCelda.java
//Clase EditorAbstractoDeCelda.java
import 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();
    }
}
TABLA
EditorFoco
//Clase EditorFoco.java
import 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);
                  }
}
TABLA
EditorPrecio
//Clase EditorPrecio.java
import 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;
                            }
                }
}
TABLA
Clase EditorExistencias
//Clase EditorExistencias.java
import 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();
                  }
}
TABLA
ExhibidorFoco
//Clase ExhibidorFoco.java
import 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;
                 }
}
TABLA
ExhibidorExistencias.java
//Clase ExhibidorExistencias.java
import 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;
                   }
TABLA
ModeloPersonalizado.java
//Clase ModeloPersonalizado.java
import 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);
                                    }
                 }
}
TABLA 2
PruebaTablas
//Clase PruebaTablas.java
import 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);
                 }
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));
                       }
    }
}
TABLA
PruebaTabla
import 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);

                  }
}
PruebaIGU
import 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);
    }
}
FACTURAS
                   NO.FACTURA
                   FECHA
                   IVA
                   TOTAL
     NOTA          NOTA_REFERENCIA
NO.NOTA
FECHA                   NOTAS
TIPO.NOTA          COMPRA                  GATOS
MATERIAL           VENTA             FECHA
PESO                                 CONCEPTO
PRECIO                               TOTAL
TOTAL                 TIPO_PAGO      TIPO_PAGO
TIPO_PAGO          CHEQUE
                   EFECTIVO
                                         CHEQUES
      MATERIALES
                                     NO.CHEQUE
   A/C                               FECHA
   2DA                               CONCEPTO
   ANGULO                            CANTIDAD
   CORTE
   PLACA
   DISCOS
   FLECHA
   LAMINA
   MONTEN
   PTR
   REDONDO
   SOLERA
   TUBO
   VIGUETA
Interfaces con Java
Interfaces con Java

Más contenido relacionado

La actualidad más candente

Resumen 16 primeras clips
Resumen 16 primeras clipsResumen 16 primeras clips
Resumen 16 primeras clips
MEGACOMPUTO
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
guesta403644
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
testgrupocomex
 
Resumen 16 primeras clips
Resumen 16 primeras clipsResumen 16 primeras clips
Resumen 16 primeras clips
MEGACOMPUTO
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
LuiS YmAY
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
Ronald Cuello
 

La actualidad más candente (20)

Resumen 16 primeras clips
Resumen 16 primeras clipsResumen 16 primeras clips
Resumen 16 primeras clips
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Resumen 16 primeras clips
Resumen 16 primeras clipsResumen 16 primeras clips
Resumen 16 primeras clips
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Property Based Testing usando QuickCheck
Property Based Testing usando QuickCheckProperty Based Testing usando QuickCheck
Property Based Testing usando QuickCheck
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
Creación de correo electrónico mediante C#
Creación de correo electrónico mediante C#Creación de correo electrónico mediante C#
Creación de correo electrónico mediante C#
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
SCJP, Clase 7: Generics
SCJP, Clase 7: GenericsSCJP, Clase 7: Generics
SCJP, Clase 7: Generics
 
Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Java Persistence Api (Jpa)
Java Persistence Api (Jpa)
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Introducción a Java Persistence API
Introducción a Java Persistence APIIntroducción a Java Persistence API
Introducción a Java Persistence API
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classes
 

Similar a Interfaces con Java

Swing
SwingSwing
Swing
EPN
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
Robert Wolf
 
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado javaEjemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
Ing-D-SW-TorresKhano--ME
 
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesosReporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Antares Zehcnas
 

Similar a Interfaces con Java (20)

Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
Swing
SwingSwing
Swing
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Repaso Cods 268
Repaso Cods 268Repaso Cods 268
Repaso Cods 268
 
Taller interfaz 3
Taller interfaz 3Taller interfaz 3
Taller interfaz 3
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Import javax
Import javaxImport javax
Import javax
 
Package mongo
Package mongoPackage mongo
Package mongo
 
Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0
 
Herencia encapsulación polimorfismo
Herencia encapsulación polimorfismoHerencia encapsulación polimorfismo
Herencia encapsulación polimorfismo
 
Tipos De Comportamiento
Tipos De ComportamientoTipos De Comportamiento
Tipos De Comportamiento
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
 
Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo v
 
Apache Storm: Desarrollo
Apache Storm: DesarrolloApache Storm: Desarrollo
Apache Storm: Desarrollo
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado javaEjemplo de un codigo a través de un lenguaje de programacion llamado java
Ejemplo de un codigo a través de un lenguaje de programacion llamado java
 
Programación i
Programación iProgramación i
Programación i
 
REVIEWCLEANCODE9-11_GROUP4_FINAL.pptx
REVIEWCLEANCODE9-11_GROUP4_FINAL.pptxREVIEWCLEANCODE9-11_GROUP4_FINAL.pptx
REVIEWCLEANCODE9-11_GROUP4_FINAL.pptx
 
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesosReporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
 
Taller interfaz 2
Taller interfaz 2Taller interfaz 2
Taller interfaz 2
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 

Último (20)

Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

Interfaces con Java

  • 1. PruebaFrame 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); } }
  • 2. PruebaFlowLayout 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); }
  • 3. PruebaBorderLayout import 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
  • 4. 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); } }
  • 5. PruebaEtiqueta import 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); } }
  • 6. PruebaCamposTexto import 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); }
  • 7. 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
  • 8. DIALOGO Dialogo 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); } }
  • 9. DIALOGO PruebaDialogo import 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); } }
  • 10. PruebaAreaTexto import 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 paran" + "ilustrar cómo copiar texton de un área de texto a n" + "otra, utilizando unnevento externon"; 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); } }
  • 11. PruebaBotonesComando import 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 él ManejadorBoton 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 }
  • 12. PruebaCasillaVerificacion import 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)); } } }
  • 13. PruebaBotonOpcion import 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); }
  • 14. 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); } } }
  • 15. PruebaListaDesplegable import 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); } }
  • 16. PruebaLista import 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); } }
  • 17. PruebaDeslizador import 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áximo deslizador = new JSlider(JSlider.HORIZONTAL, 0, 100, 0); //orientación, valor mínimo, máximo y valor inicial deslizador.setValue(0);//define el valor inicial en 0 (otra vez) deslizador.setPaintTicks(true); //muestra las marcas del deslizador deslizador.setMajorTickSpacing(20);//define marcas mayores cada 20% deslizador.setMinorTickSpacing(5);//define marcas menores cada 5% deslizador.setPaintLabels(true);//muestra etiquetas en las marcas deslizador.setBorder(new TitledBorder("Deslízame"));//agrega borde deslizador.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 porcentaje barraProgreso.setForeground(Color.blue); //indica color de fondo barraProgreso.setModel(deslizador.getModel()); //asocia el deslizador y la barra de progreso al compartir modelos contenedor.add(barraProgreso); contenedor.add(deslizador); setSize(275, 170); setVisible(true); }
  • 18. public static void main(String args[]){ PruebaDeslizador aplicacion = new PruebaDeslizador(); aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } //clase
  • 19. PruebaMenu import 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 eventos EventoOpcion 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 AcercaDe opcionAcercaDe.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); } });
  • 20. menuArchivo.add(opcionAcercaDe); opcionSalir = new JMenuItem("Salir"); //subopción salir del menú Archivo opcionSalir.setMnemonic('S'); opcionSalir.setToolTipText("Salir del Programa"); opcionSalir.addActionListener (evSalir); menuArchivo.add(opcionSalir); menuFormato = new JMenu("Formato"); //definición del menú Formato menuFormato.setMnemonic('F'); menuFormato.setToolTipText("Cambia Formato de Texto"); String colores[] = {"Negro", "Azul", "Rojo", "Verde"}; //Submenú Color menuColor = new JMenu("Color"); menuColor.setMnemonic('C'); menuColor.setToolTipText("Cambia Color del Texto"); opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopcion Color gbColor = 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 colores gbColor.add(opcionesColor[i]); opcionesColor[i].addActionListener(evOpcion); } opcionesColor[0].setSelected(true); String nombresFont[] = {"TimesRoman", "Courier", "Helvética"}; //submenú Font menuFont = 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 letra opcionesFont[i].addActionListener(evOpcion); }
  • 21. opcionesFont[0].setSelected(true); menuFont.addSeparator(); String nombresEstilo[] = {"Negritas", "Itálica"}; //submenú Estilo de Formato opcionesEstilo = 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ú formato menuFormato.addSeparator(); menuFormato.add(menuFont); barraHtas = new JToolBar(); //definición de la barra de herramientas btSalir = new JButton(new ImageIcon("img00007.gif")); //botón salir de la barra btSalir.setToolTipText("Salir del Sistema"); btSalir.addActionListener(evSalir); barraHtas.add(btSalir); despliega = new JLabel("Texto Ejemplo", SwingConstants.CENTER); //Etiqueta despliega.setForeground(coloresVal[0]); despliega.setFont(new Font("TimesRoman", Font.PLAIN, 72)); getContentPane().setBackground(Color.cyan); //contenedor de ventana getContentPane().add(barraHtas, BorderLayout.NORTH); getContentPane().add(despliega, BorderLayout.CENTER); barraMenu = new JMenuBar(); //barra de menús barraMenu.add(menuArchivo); barraMenu.add(menuFormato); setJMenuBar(barraMenu); //definición de ventana setSize(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); } }
  • 22. 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(); } } }
  • 23. PruebaMenuContextual import 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 eventos String colores[] = {"Azul", "Amarillo", "Rojo", "Verde"}; //menú contextual gbColor = new ButtonGroup(); menuContextual = new JPopupMenu(); opcionesColor = new JRadioButtonMenuItem[colores.length]; //subopciones Color for (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()); } } });
  • 24. getContentPane().setBackground(Color.WHITE); //definición de la ventana setSize(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; } } } } }
  • 25. PruebaBoxLayout import 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 fijo vertical1.add(new JButton("Botón " + i)); } for (int i = 0; i < TAMANO; i++){ horizontal2.add(Box.createHorizontalGlue()); //ajusta horizontal2.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 Y panel.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);
  • 26. getContentPane().add(folders); setSize(400, 220); setVisible(true); } public static void main(String[] args){ PruebaBoxLayout ventana = new PruebaBoxLayout(); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
  • 27. PruebaCardLayout import 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 mismo String 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 CardLayout pnFicha1.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 CardLayout pnFicha2.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); } }
  • 28.
  • 29. DemoGridBag // 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 );
  • 30. // weightx y weighty para boton1 son 0: el valor predeterminado // establecer gridwidth y gridheight restricciones.fill = GridBagConstraints.HORIZONTAL; restricciones.gridwidth = anchura; agregarComponente( boton1, 0, 1, 2, 1 ); restricciones.gridheight = altura; // weightx y weighty para cuadroCombinado son 0: el valor predeterminado // establecer restricciones y agregar componente // fill es HORIZONTAL esquema.setConstraints( componente, restricciones ); agregarComponente( cuadroCombinado, 2, 1, 2, 1 ); contenedor.add( componente ); } // boton2 restricciones.weightx = 1000; // puede hacerse más ancho public static void main( String args[] ) restricciones.weighty = 1; // puede hacerse más largo { restricciones.fill = GridBagConstraints.BOTH; DemoGridBag aplicacion = new DemoGridBag(); agregarComponente( boton2, 1, 1, 1, 1 ); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } // 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;
  • 31. PruebaGridBagLayout import 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 ); } }
  • 32. TABLA EditorAbstractoDeCelda.java //Clase EditorAbstractoDeCelda.java import 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); } } }
  • 33. 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(); } }
  • 34. TABLA EditorFoco //Clase EditorFoco.java import 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); } }
  • 35. TABLA EditorPrecio //Clase EditorPrecio.java import 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; } } }
  • 36. TABLA Clase EditorExistencias //Clase EditorExistencias.java import 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(); } }
  • 37. TABLA ExhibidorFoco //Clase ExhibidorFoco.java import 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; } }
  • 38. TABLA ExhibidorExistencias.java //Clase ExhibidorExistencias.java import 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; }
  • 39. TABLA ModeloPersonalizado.java //Clase ModeloPersonalizado.java import 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); } } }
  • 40. TABLA 2 PruebaTablas //Clase PruebaTablas.java import 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); }
  • 41. 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); } }
  • 42. 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)); } } }
  • 43.
  • 44. TABLA PruebaTabla import 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); } }
  • 45. PruebaIGU import 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); } });
  • 46. 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); }
  • 47. } public static void main(String args[]){ PruebaIGU ventana = new PruebaIGU(); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
  • 48. FACTURAS NO.FACTURA FECHA IVA TOTAL NOTA NOTA_REFERENCIA NO.NOTA FECHA NOTAS TIPO.NOTA COMPRA GATOS MATERIAL VENTA FECHA PESO CONCEPTO PRECIO TOTAL TOTAL TIPO_PAGO TIPO_PAGO TIPO_PAGO CHEQUE EFECTIVO CHEQUES MATERIALES NO.CHEQUE A/C FECHA 2DA CONCEPTO ANGULO CANTIDAD CORTE PLACA DISCOS FLECHA LAMINA MONTEN PTR REDONDO SOLERA TUBO VIGUETA