Java Interfaces Graf i Cas

download Java Interfaces Graf i Cas

of 22

description

INTERFACES DE JAVA DESDE CERO

Transcript of Java Interfaces Graf i Cas

  • Java

    Algoritmia y Programacin

    Java

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin 1

  • Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin 2

  • Contenido

    o GUIs (Graphic User Interfaces)

    Qu son?

    Estructura General de una GUI

    Componentes GrficosComponentes Grficos

    Jlabel

    JTextField

    Jbutton

    Jpanel

    Layouts

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin 3

  • GUI: Definicin

    o Una interfaz grfica de usuario es un mecanismo incorporado en las aplicaciones

    para hacer mas amigable la interaccin con el usuario.

    o Las GUIs se crean a partir de componentes, stos permiten que el usuario

    interacte mediante el ratn, el teclado y otras formas de entrada.

    4

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Estructura

    o Estructura General: En general la estructura de una aplicacin con una GUI

    cumple lo siguiente:

    Se declara una clase que herede de la clase JFrame

    Esta misma clase debe implementar la interfaz ActionListener

    Se declaran como atributos los componentes grficos de la interfazSe declaran como atributos los componentes grficos de la interfaz

    En el mtodo constructor se instancian los componentes grficos

    En el mtodo constructor u otro mtodo especializado se organizan los

    elementos de la interfaz

    Se declara un mtodo para atender los distintos eventos ejecutados por el

    usuario

    Se declara un mtodo main y se crea un objeto de la propia clase

    5

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Estructura

    public class UsaGUI {

    public static void main( String args[]){GUI aplicacion = new GUI();

    }

    }

    Se crea un objeto de la clase GUI

    }

    6

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Estructura

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

    public class GUI extends JFrame {Container contenedor;

    Una GUI debe heredar de JFrame

    public GUI( ){super( "Ttulo de la GUI" );contenedor = getContentPane();contenedor.setLayout( new FlowLayout() );this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);this.setSize( 275, 170 );this.setVisible( true );

    }

    7

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

    Asigna un ttulo a la ventana

    Para terminar el programa

    Especifica el tamao

    Hace visible la ventana

  • GUI: Estructura

    8

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Componentes

    o Las GUIs estn compuestas por diferentes elementos como etiquetas, campos de

    texto, reas de texto, botones, mens y otros elementos.

    9

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Componentes

    JFrame : Es la ventana sobre la que se construye la GUI.

    JLabel : Etiquetas para mostrar mensajes o indicaciones al usuario.

    JButton : Se asocia a una operacin que realizar el usuario.

    JTextField : Puede permitir tanto la entrada como la salida de datos.

    JPanel : Sirve como contenedor para los elementos JLabel, JButton y JTextField.

    JFrame

    10

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

    JFrame

    JLabel

    JButton

    JTextField

    JTextAreaJPanel (3 botones)

  • GUI: JLabel

    JLabel : Etiquetas para mostrar mensajes o indicaciones al usuario.

    Cmo se declara una etiqueta?

    JLabel label1;

    Cmo se crea una etiqueta?

    label1 = new JLabel(Soy un JLabel);label1 = new JLabel(Soy un JLabel);

    11

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: JTextField

    JTextField : Puede permitir tanto la entrada como la salida de datos.

    Cmo se declara un campo de texto?

    JTextField textField1

    Cmo se crea un campo de texto?

    textField1 = new JTextField(Ingrese algo,12);textField1 = new JTextField(Ingrese algo,12);

    12

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: JButton

    JButton : Se asocia a una operacin que realizar el usuario.

    Cmo se declara un bton?

    JButton button1;

    Cmo se crea un botn?

    button1 = new JButton(Soy un JButton);button1 = new JButton(Soy un JButton);

    13

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: JPanel

    JPanel : Sirve como contenedor para los elementos JLabel, JButton y JTextField.

    Cmo se declara un panel?

    JPanel panel1;

    Cmo se crea un panel?

    panel1 = new Jpanel(new GridLayout(3, 1));panel1 = new Jpanel(new GridLayout(3, 1));

    panel1.add(label1);

    panel1.add(textField1);

    panel1.add(button1);

    14

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Eventos y Oyentes

    o Java utiliza una metfora llamada oyente para hacer que la GUI escuche

    continuamente los eventos que pueden suceder sobre sus componentes.

    Algunos de los eventos que pueden ocurrir son:

    Clic sobre los botones

    Completar campos de texto y oprimir la tecla Enter

    Hacer clic sobre alguna opcin de un men

    Ejecutar un comando con el teclado

    Seguir el rastro del ratn

    Entre otros.

    15

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Eventos y Oyentes

    o Los oyentes en Java se han clasificado de acuerdo al componente que genera los

    eventos y para su manipulacin hay que hacer uso de interfaces como:

    ActionListener

    MouseListener

    ItemListenerItemListener

    KeyListener

    o Cada componente que puede generar un evento, debe tener un manejador que

    indica las acciones que deben ocurrir si se genera un evento

    16

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Eventos y Oyentes

    o Para crear una interfaz de usuario como se muestra en la siguiente figura, se debe

    utilizar el oyente ActionListener.

    17

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Eventos y Oyentes

    public class UsaSaluda {

    public static void main(String[] args) {Saluda aplicacion = new Saluda();aplicacion.organizarGUI();

    }

    }

    18

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Eventos y Oyentes

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

    public class Saluda extends JFrame implements ActionListener {

    Container contenedor;JLabel lNombre;JTextField tfNombre;

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(250,100);this.setVisible(true);

    }

    public void organizarGUI(){contenedor.add(lNombre);contenedor.add(tfNombre);

    JButton bNombre;

    public Saluda(){

    super("Ttulo de la GUI");contenedor = getContentPane();contenedor.setLayout(new FlowLayout());

    lNombre = new JLabel("Nombre : ");tfNombre = new JTextField(10);bNombre = new JButton("Saludar");bNombre.addActionListener(this);

    contenedor.add(bNombre);}

    public void actionPerformed(ActionEvent e){if (e.getSource()==bNombre){

    JOptionPane.showMessageDialog(null,"Hola " + tfNombre.getText());}

    }

    }

    19

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Layouts

    Existen interfaces mas complejas que requieren de layouts diferentes al

    FlowLayout empleado en las diapositivas anteriores para organizar los elementos

    grficos.

    Por ejemplo como se deben organizar los elementos para obtener las siguientes

    interfaces:

    20

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • GUI: Layouts

    21

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin

  • FIN

    22

    Escuela de Ingeniera de Sistemas y Computacin.

    Curso: Algoritmia y Computacin