I.OBJETIVOS
Que el estudiante aplique los conceptos teóricos de Swing.
Que el estudiante pueda identificar las instrucciones del Swing en NetBeans IDE
6.1.
Nombre de la Clase: PruebaCampoTexto.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PruebaCampoTexto extends JFrame
{
private JTextField campoTexto1, campoTexto2, campoTexto3;
private JPasswordField campoContrasenia;
//configuar la GUI.
/** Creates a new instance of PruebaCampoTexto */
public PruebaCampoTexto()
{
super ( "Prueba de JTextField y JPassWordField" );
Container contenedor = getContentPane();
contenedor.setLayout( new FlowLayout() );
//Crear campo de texto con tamaño predeterminado
campoTexto1 = new JTextField( 10 );
contenedor.add( campoTexto1 );
//Crear campo de texto con texto prederterminado
campoTexto2 = new JTextField( "Escriba el texto aqui" );
contenedor.add( campoTexto2 );
//Crear campo de texto con texto predeterminado,
//20 elementos visibles y sin manejador de eventos
campoTexto3 = new JTextField( "Campo de texto no editable",20 );
campoTexto3.setEditable( false );
contenedor.add( campoTexto3 );
//crear campo de contraseña con texto predeterminado
campoContrasenia = new JPasswordField( "Texto oculto" );
contenedor.add( campoContrasenia );
//regsitrar manejador de eventos
ManejadorCampoTexto manejador = new ManejadorCampoTexto();
campoTexto1.addActionListener( manejador );
campoTexto2.addActionListener( manejador );
campoTexto3.addActionListener( manejador );
campoContrasenia.addActionListener( manejador );
setSize(325,120);
setVisible(true);
}//fin del constructor de PruebaCampoTexto
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
PruebaCampoTexto aplicacion = new PruebaCampoTexto();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//clase interna privada para el manejo de eventos
private class ManejadorCampoTexto implements ActionListener
{
//
public void actionPerformed(ActionEvent evento)
{
String cadena = "";
if(evento.getSource()==campoTexto1)
cadena = "campoTexto1: " + evento.getActionCommand();
else if (evento.getSource()== campoTexto2)
cadena = "campoTexto2: " + evento.getActionCommand();
else if (evento.getSource()==campoTexto3)
cadena = "campoTexto3: " + evento.getActionCommand();
else if (evento.getSource()== campoContrasenia)
{
cadena = "campoContrasenia: " + new
String(campoContrasenia.getPassword());
}
JOptionPane.showMessageDialog(null, cadena);
}//fin del metodo actionPerformed
}// fin de la clase interna privada ManejadorCampoTexto
}//fin de la clase PruebaCampoTexto.
Ejemplo 2:
Nombre de la Clase: PruebaJComboBox.java
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.JLabel;
public class PruebaJComboBox
{
private JTextField tf;
private JComboBox combo;
private JFrame v;
/** Creates a new instance of PruebaJComboBox */
public PruebaJComboBox()
{
// Creacion del JTextField
tf = new JTextField(20);
// Se crea una etiqueta centrada y se añade
JLabel etiqueta = new JLabel("Seleccione a que carrera pertenece:");
etiqueta.setAlignmentX(Component.CENTER_ALIGNMENT);
// Creacion del JComboBox y añadir los items.
combo = new JComboBox();
combo.addItem("Computación");
combo.addItem("Mecatronica");
combo.addItem("Telecomunicaciones");
// Accion a realizar cuando el JComboBox cambia de item seleccionado.
combo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tf.setText(combo.getSelectedItem().toString());
}
});
// Creacion de la ventana con los componentes
v = new JFrame("Ejemplo Utilizando JComboBox");
v.getContentPane().add(etiqueta);
v.getContentPane().setLayout(new FlowLayout());
v.getContentPane().add(combo);
v.getContentPane().add(tf);
v.pack();
v.setVisible(true);
v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
new PruebaJComboBox();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PruebaCasillaVerificacion extends JFrame
{
private JTextField campo;
private JCheckBox negrita, cursiva;
/** Creates a new instance of PruebaCasillaVerificacion */
//Configurar la GUI
public PruebaCasillaVerificacion()
{
super( "Prueba de JCheckBox !!!!!!" );
//obtener panel de contenido y establecer su esquema
//(Container)una superclase de todas las ventanas en Java
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Configurar objeto JTextField y establecer su tipo de letra
campo = new JTextField("Observe el cambio en el estilo de tipo de letra", 25);
campo.setFont( new Font( "Serif", Font.PLAIN,14));
contenedor.add( campo );
//crear objetos casillas de verificacion
negrita = new JCheckBox( "Negrita" );
contenedor.add( negrita );
cursiva = new JCheckBox( "Cursiva" );
contenedor.add( cursiva );
//registrar componentes de escucha para los objetos JCheckBox
ManejadorCasillaVerificacion manejador = new ManejadorCasillaVerificacion();
negrita.addItemListener( manejador );
cursiva.addItemListener(manejador);
setSize(300,100);
setVisible( true );
}//
Ejemplo 3:
Nombre de la Clase: PruebaCasillaVerificacion.java
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
PruebaCasillaVerificacion aplicacion = new PruebaCasillaVerificacion();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//clase interna privada para manejo de eventos de ItemListener
private class ManejadorCasillaVerificacion implements ItemListener
{
private int valNegrita = Font.PLAIN;
private int valCursiva = Font.PLAIN;
//responder a eventos de casillas de verificacion
public void itemStateChanged( ItemEvent evento)
{
//procesar eventos de casillas de verificación negrita
if(evento.getSource() == negrita)
valNegrita = negrita.isSelected()? Font.BOLD : Font.PLAIN;
//procesar eventos de casillas de verificación cursiva
if (evento.getSource() == cursiva)
valCursiva = cursiva.isSelected()? Font.ITALIC : Font.PLAIN;
//Establecer tipo de letra del campo de texto
campo.setFont( new Font( "Serif", valNegrita + valCursiva, 14));
}//fin del método itemStateChanged
}//fin de la clase interna privada ManejadorCasillaVerificacion
}//fin de la clase PruebaCasillaVerificacion
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PruebaSeleccionMultiple extends JFrame
{
private JList listaColores, listaCopia;
private JButton botonCopiar;
private final String nombresColores[] ={"Negro", "Azul", "Cyan", "Gris oscuro",
"Gris", "Verde", "Gris claro", "Magenta",
"Naranja", "Rosa", "Rojo", "Blanco", "Amarillo"};
/** Creates a new instance of PruebaSeleccionMultiple */
//configurar la GUI
public PruebaSeleccionMultiple()
{
super ("Lista de seleccion multiple");
//
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//
listaColores = new JList( nombresColores );
listaColores.setVisibleRowCount(5);
listaColores.setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
contenedor.add (new JScrollPane(listaColores));
//
botonCopiar = new JButton("Copiar >>>");
botonCopiar.addActionListener(
new ActionListener(){
//
public void actionPerformed( ActionEvent evento )
{
listaCopia.setListData(listaColores.getSelectedValues() );
}
}
);
Ejemplo 4:
Nombre de la Clase: PruebaSeleccionMultiple.java
contenedor.add(botonCopiar);
//
listaCopia = new JList( );
listaCopia.setVisibleRowCount(5);
listaCopia.setFixedCellWidth(100);
listaCopia.setFixedCellHeight(15);
listaCopia.setSelectionMode(
ListSelectionModel.SINGLE_INTERVAL_SELECTION);
contenedor.add(new JScrollPane(listaCopia));
setSize(325, 130);
setVisible(true);
}//
/**
* @param args the command line arguments
*/;
public static void main(String[] args)
{
// TODO code application logic here
PruebaSeleccionMultiple aplicacion = new PruebaSeleccionMultiple();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ejemplo 5:
Nombre de la Clase: PruebaEventosBotones.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PruebaEventosBotones
{
/** Creates a new instance of PruebaEventosBotones */
public PruebaEventosBotones()
{
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
MarcoBotones marco = new MarcoBotones();
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marco.setVisible(true);
}
}
class MarcoBotones extends JFrame
{
public MarcoBotones()
{
setTitle("Prueba de botones");
setSize(ANCHURA_PREFIJADA,ALTURA_PREFIJADA);
LaminaBotones lamina = new LaminaBotones();
add(lamina);
}
public static final int ANCHURA_PREFIJADA = 300;
public static final int ALTURA_PREFIJADA = 200;
}
class LaminaBotones extends JPanel
{
public LaminaBotones()
{
JButton botonAmarillo = new JButton("Amarillo");
JButton botonAzul = new JButton("Azul");
JButton botonRojo = new JButton("Rojo");
add(botonAmarillo);
add(botonAzul);
add(botonRojo);
AccionColor accionAmarillo = new AccionColor(Color.YELLOW);
AccionColor accionAzul = new AccionColor(Color.BLUE);
AccionColor accionRojo = new AccionColor(Color.RED);
botonAmarillo.addActionListener(accionAmarillo);
botonAzul.addActionListener(accionAzul);
botonRojo.addActionListener(accionRojo);
}
private class AccionColor implements ActionListener
{
public AccionColor(Color c)
{
colorDeFondo = c;
}
public void actionPerformed(ActionEvent evento)
{
setBackground(colorDeFondo);
}
private Color colorDeFondo;
}
}
III.BIBLIOGRAFIA
• Java Como Programar
Quinta edición
Autor: Deitel y Deitel.
Editorial: Pearson