Sei sulla pagina 1di 8

Universidad Nacional de Trujillo Tecnología de la Programación II

Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

COMPONENTES DE LA INTERFAZ GRÁFICA DE USUARIO


Parte I - Código

1. Uso de JLabel.

package Componentes;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class PruebaEtiqueta extends JFrame {


private JLabel lblEtiqueta1;
private JLabel lblEtiqueta2;
private JLabel lblEtiqueta3;

//Configurar la GUI
public PruebaEtiqueta() {
super("Prueba de JLabel");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Constructor de JLabel con un argumento cadena
lblEtiqueta1 = new JLabel("Etiqueta con texto");
lblEtiqueta1.setToolTipText("Esta es la primera etiqueta");
lblEtiqueta1.setBorder(BorderFactory.createLineBorder(new Color(250,0,0), 1));
contenedor.add(lblEtiqueta1);
//Constructor de JLabel con argumentos cadena, Icono y alineacion
Icon flores = new ImageIcon("flores1.jpg");
lblEtiqueta2 = new JLabel("Etiqueta con texto e icono",
flores, SwingConstants.RIGHT);
lblEtiqueta2.setToolTipText("Esta es la segunda etiqueta");
lblEtiqueta2.setBorder(BorderFactory.createLineBorder(new Color(0,250,0), 2));
contenedor.add(lblEtiqueta2);
//Constructor de JLabel sin argumentos
lblEtiqueta3 = new JLabel();
lblEtiqueta3.setText("Etiqueta con icono y texto en la parte inferior");
lblEtiqueta3.setIcon(flores);
lblEtiqueta3.setHorizontalTextPosition(SwingConstants.CENTER);
lblEtiqueta3.setVerticalTextPosition(SwingConstants.BOTTOM);
lblEtiqueta3.setToolTipText("Esta es la tercera etiqueta");
lblEtiqueta3.setBorder(BorderFactory.createLineBorder(new Color(0,0,250), 3));
contenedor.add(lblEtiqueta3);
setSize(375,400);
setVisible(true);
}

public static void main(String [] args) {


PruebaEtiqueta aplicacion = new PruebaEtiqueta();
aplicacion.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -1-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

2. Uso de JTextField y JPasswordField.


package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaCampoTexto extends JFrame {


private JTextField txtTexto1, txtTexto2, txtTexto3;
private JPasswordField txtContraseña;

//Configurar la GUI
public PruebaCampoTexto() {
super("Prueba de JTextField y JPasswordField");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Crear campo de texto con tamaño determinado
txtTexto1 = new JTextField(10);
contenedor.add(txtTexto1);
//Crear campo de texto con texto predeterminado
txtTexto2 = new JTextField("Aqui se escribe el texto");
contenedor.add(txtTexto2);
//Crear campo de texto con texto predeterminado, 20 elementos visibles
txtTexto3 = new JTextField("Campo de texto no editable", 20);
txtTexto3.setEditable(false);
contenedor.add(txtTexto3);
//Crear campo de contraseña con texto predeterminado
txtContraseña = new JPasswordField("Palabra clave");
contenedor.add(txtContraseña);
//Registrar manejadores de eventos
ManejadorCampoTexto manejador = new ManejadorCampoTexto();
txtTexto1.addActionListener(manejador);
txtTexto2.addActionListener(manejador);
txtTexto3.addActionListener(manejador);
txtContraseña.addActionListener(manejador);
setSize(350, 150);
setVisible(true);
}

public static void main(String[] args) {


PruebaCampoTexto aplicacion = new PruebaCampoTexto();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//Clase interna privada para el manejo de eventos


private class ManejadorCampoTexto implements ActionListener {
//Procesar eventos de campo de texto
public void actionPerformed(ActionEvent evento) {
String cadena = "";
//El usuario oprimió Enter en objeto txtTexto1
if (evento.getSource() == txtTexto1) {
cadena = "Texto 1: " + evento.getActionCommand();
//El usuario oprimió Enter en objeto txtTexto2
} else if (evento.getSource() == txtTexto2) {
cadena = "Texto 2: " + evento.getActionCommand();
//El usuario oprimió Enter en objeto txtTexto3
} else if (evento.getSource() == txtTexto3) {
cadena = "Texto 3: " + evento.getActionCommand();
//El usuario oprimió Enter en objeto txtContraseña
} else if (evento.getSource() == txtContraseña) {
cadena = "Contraseña: " + new String(txtContraseña.getPassword());
}

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -2-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

JOptionPane.showMessageDialog(PruebaCampoTexto.this, cadena, "Resultado", 1);


}
}
}

3. Uso de JButton.
package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaBoton extends JFrame {


private JButton btnSimple, btnElegante;

//Configurar la GUI
public PruebaBoton() {
super("Prueba de JButton");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Crear botones
btnSimple = new JButton("Boton simple");
contenedor.add(btnSimple);
Icon flores1 = new ImageIcon("flores1.jpg");
Icon flores2 = new ImageIcon("flores2.jpg");
btnElegante = new JButton("Boton elegante", flores1);
btnElegante.setRolloverIcon(flores2);
contenedor.add(btnElegante);
//Crear una instancia de la clase interna ManejadorBoton
//a usar para el manejo de eventos de botones
ManejadorBoton manejador = new ManejadorBoton();
btnElegante.addActionListener(manejador);
btnSimple.addActionListener(manejador);
setSize(300,200);
setVisible(true);
}

public static void main(String[] args) {


PruebaBoton aplicacion = new PruebaBoton();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//Clase interna privada para el manejo de eventos de botón


private class ManejadorBoton implements ActionListener {
//Procesar eventos de botón
public void actionPerformed(ActionEvent evento) {
JOptionPane.showMessageDialog(PruebaBoton.this, "Usted oprimió " +
evento.getActionCommand(), "Resultado", 1);
}
}
}

4. Uso de JCheckBox.
package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -3-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

public class PruebaCasillaVerificacion extends JFrame {


private JTextField txtTexto;
private JCheckBox chkNegrita, chkCursiva;

//Configurar la GUI
public PruebaCasillaVerificacion() {
super("Prueba de JCheckBox");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Configurar objeto JTextField y establecer su tipo de letra
txtTexto = new JTextField("Observe el cambio de estilo", 25);
txtTexto.setFont(new Font("Serif", Font.PLAIN, 14));
contenedor.add(txtTexto);
//Crear objetos casilla de verificación
chkNegrita = new JCheckBox("Negrita");
contenedor.add(chkNegrita);
chkCursiva = new JCheckBox("Cursiva");
contenedor.add(chkCursiva);
//Registrar componentes de escucha para los objetos JCheckBox
ManejadorCasillaVerificacion manejador = new ManejadorCasillaVerificacion();
chkNegrita.addItemListener(manejador);
chkCursiva.addItemListener(manejador);
setSize(300, 200);
setVisible(true);
}

public static void main(String[] args) {


PruebaCasillaVerificacion aplicacion = new PruebaCasillaVerificacion();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//Clase interna privada para el manejo de eventos de ItemListener


private class ManejadorCasillaVerificacion implements ItemListener {
private int valNegrita = Font.PLAIN;
private int valCursiva = Font.PLAIN;

//Responder a eventos de casilla de verificacion


public void itemStateChanged(ItemEvent evento) {
//Procesar eventos de casilla de verificacion negrita
if(evento.getSource()== chkNegrita)
valNegrita = chkNegrita.isSelected()?Font.BOLD:Font.PLAIN;
//Procesar eventos de casilla de verificacion cursiva
if(evento.getSource()== chkCursiva)
valCursiva = chkCursiva.isSelected()?Font.ITALIC:Font.PLAIN;
//Establecer tipo de letra del campo de texto
txtTexto.setFont(new Font("Serif", valNegrita + valCursiva, 14));
}
}
}

5. Uso de JRadioButton.
package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaBotonOpcion extends JFrame {


private JTextField txtTexto;
private Font tipoSimple, tipoNegrita, tipoCursiva, tipoNegritaCursiva;

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -4-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

private JRadioButton rbtnSimple, rbtnNegrita, rbtnCursiva, rbtnNegritaCursiva;


private ButtonGroup gbtnGrupo;

//Configurar la GUI
public PruebaBotonOpcion() {
super("Prueba de JRadioButton");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Configurar objeto JTextField
txtTexto = new JTextField("Observe el cambio de estilo", 30);
contenedor.add(txtTexto);
//Crear botones de opcion
rbtnSimple = new JRadioButton("Simple", true);
contenedor.add(rbtnSimple);
rbtnNegrita = new JRadioButton("Negrita", false);
contenedor.add(rbtnNegrita);
rbtnCursiva = new JRadioButton("Cursiva", false);
contenedor.add(rbtnCursiva);
rbtnNegritaCursiva = new JRadioButton("Negrita/Cursiva", false);
contenedor.add(rbtnNegritaCursiva);
//Crear relación lógica entre objetos JRadioButton
gbtnGrupo = new ButtonGroup();
gbtnGrupo.add(rbtnSimple);
gbtnGrupo.add(rbtnNegrita);
gbtnGrupo.add(rbtnCursiva);
gbtnGrupo.add(rbtnNegritaCursiva);
//Crear objetos de tipo de letra
tipoSimple = new Font("Serif", Font.PLAIN, 14);
tipoNegrita = new Font("Serif", Font.BOLD, 14);
tipoCursiva = new Font("Serif", Font.ITALIC, 14);
tipoNegritaCursiva = new Font("Serif", Font.BOLD+Font.ITALIC, 14);
//Establecer tipo de letra inicial
txtTexto.setFont(tipoSimple);
//Registrar eventos para los objetos JRadioButton
rbtnSimple.addItemListener(new ManejadorBotonOpcion(tipoSimple));
rbtnNegrita.addItemListener(new ManejadorBotonOpcion(tipoNegrita));
rbtnCursiva.addItemListener(new ManejadorBotonOpcion(tipoCursiva));
rbtnNegritaCursiva.addItemListener(new ManejadorBotonOpcion(tipoNegritaCursiva));
setSize(400, 200);
setVisible(true);
}

public static void main(String[] args) {


PruebaBotonOpcion aplicacion = new PruebaBotonOpcion();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//Clase interna privada para el manejo de eventos de ItemListener


private class ManejadorBotonOpcion implements ItemListener {
private Font tipoDeLetra;

public ManejadorBotonOpcion(Font f) {
tipoDeLetra = f;
}

//Manejar eventos de botón de opción


public void itemStateChanged(ItemEvent evento) {
txtTexto.setFont(tipoDeLetra);
}
}
}

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -5-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

6. Uso de JComboBox.
package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaCuadroCombinado extends JFrame {


private JComboBox cbxImagenes;
private JLabel lblEtiqueta;
private String nombres[]={"flores1.jpg","flores2.jpg","flores3.jpg","flores4.jpg"};
private Icon iconos[]={new ImageIcon(nombres[0]), new ImageIcon(nombres[1]),
new ImageIcon(nombres[2]), new ImageIcon(nombres[3])};

//Configurar la GUI
public PruebaCuadroCombinado() {
super("Prueba de JComboBox");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Establecer objeto JComboBox y registrar su manejador de eventos
cbxImagenes = new JComboBox(nombres);
cbxImagenes.setMaximumRowCount(3);
cbxImagenes.addItemListener(new ItemListener() { //Clase interna anónima
//Manejar evento para JComboBox
public void itemStateChanged(ItemEvent evento) {
//Determinar si la casilla de verificación está seleccionada
if (evento.getStateChange() == ItemEvent.SELECTED)
blEtiqueta.setIcon(iconos[cbxImagenes.getSelectedIndex()]);
}
} //Fin de la clase interna
); //Fin de la llamada a addItemListener
contenedor.add(cbxImagenes);
//Establecer objeto JLabel para mostrar objetos ImageIcon
lblEtiqueta = new JLabel(iconos[0]);
contenedor.add(lblEtiqueta);
setSize(400, 200);
setVisible(true);
}

public static void main(String[] args) {


PruebaCuadroCombinado aplicacion = new PruebaCuadroCombinado();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

7. Uso de JList.
package Componentes;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class PruebaLista extends JFrame {


private JList lstColores;
private Container contenedor;
private final String nombres[]={"Negro","Azul","Cyan","Gris oscuro","Gris","Verde",
"Gris claro","Magenta","Anaranjado","Rosado","Rojo","Blanco", "Amarillo"};
private final Color colores[]={Color.BLACK,Color.BLUE,Color.CYAN,Color.DARK_GRAY,

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -6-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

Color.GRAY,Color.GREEN,Color.LIGHT_GRAY,Color.MAGENTA,Color.ORANGE,Color.PINK,
Color.RED,Color.WHITE,Color.YELLOW};

//Configurar la GUI
public PruebaLista() {
super("Prueba de JList");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
//Crear una lista con elementos del arreglo nombres
lstColores = new JList(nombres);
lstColores.setVisibleRowCount(5);
//No permitir selecciones múltiples
lstColores.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//Agregar un objeto JScrollPane, que contiene a JList, al panel de contenido
contenedor.add(new JScrollPane(lstColores));
lstColores.addListSelectionListener(
new ListSelectionListener() { //Clase interna anónima
//Manejar eventos de selección en la lista
public void valueChanged(ListSelectionEvent evento) {
//Establecer color de fondo del contenedor
contenedor.setBackground(colores[lstColores.getSelectedIndex()]);
}
} //Fin de la clase interna
); //Fin de la llamada a addItemListener
setSize(400, 200);
setVisible(true);
}

public static void main(String[] args) {


PruebaLista aplicacion = new PruebaLista();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

8. Uso de JList – Selección Múltiple.


package Componentes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PruebaListaMultiple extends JFrame {


private JList lstColores, lstCopia;
private JButton btnCopiar;
private final String nombres[] = {"Negro", "Azul", "Cyan", "Gris oscuro", "Gris",
"Verde", "Gris claro", "Magenta", "Naranja", "Rosa", "Rojo", "Blanco",
"Amarillo"};

//Configurar la GUI
public PruebaListaMultiple() {
super("Prueba de JList - Selección Múltiple");
initComponents();
}

private void initComponents() {


//Obtener panel de contenido y establecer su esquema
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -7-


Universidad Nacional de Trujillo Tecnología de la Programación II
Ingeniería de Sistemas Componentes Interfaz Gráfica de Usuario – Parte I

//Establecer objeto JList lstColores


lstColores = new JList(nombres);
lstColores.setVisibleRowCount(5);
lstColores.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
contenedor.add(new JScrollPane(lstColores));
//Crear botón copiar y registrar su componente de escucha
btnCopiar = new JButton("Copiar >>>");
btnCopiar.addActionListener(
new ActionListener() { //Clase interna anónima
//Manejar eventos de selección en la lista
public void actionPerformed(ActionEvent evento) {
//Colocar valores seleccionados en lstCopia
lstCopia.setListData(lstColores.getSelectedValues());
}
} //Fin de la clase interna
); //Fin de la llamada a addActionListener
contenedor.add(btnCopiar);
//Establecer objeto JList lstCopia
lstCopia = new JList();
lstCopia.setVisibleRowCount(5);
lstCopia.setFixedCellWidth(100);
lstCopia.setFixedCellHeight(15);
lstCopia.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
contenedor.add(new JScrollPane(lstCopia));
setSize(400, 200);
setVisible(true);
}

public static void main(String[] args) {


PruebaListaMultiple aplicacion = new PruebaListaMultiple();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Ing. Zoraida Yanet Vidal Melgarejo, Mg. -8-

Potrebbero piacerti anche