jueves, 27 de octubre de 2016

INTERFAZ GRÁFICA GUI


Llamamos Interfaz Gráfica GUI (Graphical User Interface) al conjunto de componentes gráficos que posibilitan la interacción entre el usuario y la aplicación. Es decir ventnas, botones, combos, listas, cajas de diálogo, campos de texto, etc.
Primero tenemos que diseñar la aplicación,programarla y por último los eventos que se generan a medida que el usuario interactua con la Interfaz. 
Los componentes son objetos de las clases que heredan de la clase base componente como Button, List, TextField, TextArea, Label, etc.
En una GUI los componentes son contenidos en Contenedores o containers.
Un Containes es un objeto cuya clase hereda de Container(clase que a su vez es subclase de Component) y tiene la responsabilidad de contener Componentes. 
Generalmente una GUI se monta sobre un Frame.Esté sera el Container principal que contendrá a los componentes de la Interfaz Gráfica, un Container podría contener a otros containers.

Contenedores

  • JFrame.Habitualmente la clase JFrame se emplea para crear la ventana principal de una aplicacion en Swing.
  • JDialog.Ventanas de interaccion con el usuario.
  • JPanel.Agrupa a otros componentes.
  • JScrollPanel .Incluye barras de desplazamiento


 La API de Java para desarrollo de GUI
La interfaz de ususuario es la parte del programa que permite al usuario interaccionar con él. La API de Java proporciona una biblioteca de clases para el desarrollo de Interfaces graficas de usuario(en realidad son dos). La biblioteca proporciona un conjunto de herramientas para la construccion de interfaces graficas,su estructura basica gira en torno a componenest y contenedores. La API esta constituida por clases,interfaces y derivaciones.

AWT y SWING

  • AWT (Abstract Windows Toolkit ) y Swing son librerías de clases para el desarrollo de GUIs.
  • Algunos componentes de AWT usan código nativo y por ello es dependiente de la plataforma Java 5.
  • Swing está escrito completamente en Java por lo que es independiente de la plataforma

-Las aplicaciones distribuídas entre varias plataformas tiene la misma apariencia 
-Se puede considerar como el reemplazo de AWT

Componentes de AWT
Componentes de Swing
Ejemplo1
Crear un boton


package blog;

import javax.swing.*;

import java.awt.*;

public class gui01 extends JFrame{

    private Container panel;

    private JButton miboton;

    public gui01(){

        super("Ejemplo 01 con boton");

        //Configurar componentes

        miboton=new JButton("Aceptar");

        panel=getContentPane();

        panel.add(miboton);

      

        setSize(200,100);

        setVisible(true);

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

    public static void main(String[] args) {

        gui01 a=new gui01();

    }

}





Ejemplo2.
Reproducir un valor



package blog;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class gui02 extends JFrame{



    JButton botonCopiar;

    JTextField campoValor,resultado;

  

    public gui02(){

        setLayout(new FlowLayout());

        add(new JLabel("Valor"));

        campoValor=new JTextField(5);

        add(campoValor);

        botonCopiar=new JButton("Copiar");

        add(botonCopiar);

        botonCopiar.addActionListener(new OyenteBoton());

        add(new JLabel("                  Copia"));

        resultado=new JTextField(6);

        setSize(400,100);

        setVisible(true);

        setDefaultCloseOperation(EXIT_ON_CLOSE);   

    }

    public static void main(String[] args) {

        gui02 ventana=new gui02();

    }

    class OyenteBoton implements ActionListener{

        public void actionPerformed(ActionEvent e){

           String valor=campoValor.getText();

           resultado.setText(valor);

    }

}

}











ARCHIVO DE TEXTO PLANO

ARCHIVO DE TEXTO PLANO 
 Escribir en un archivo de texto con extensión .txt. 
 CREAR ARCHIVOS
 Escribir en un archivo de texto con extensión .txt.
 File f=new File(“ruta”); 
 ESCRIBIR ARCHIVOS 
FileWrite fr=new FieWrite(f); 
fr.Write(“nombre del archivo”); 
fr.close;
 LEER ARCHIVOS
 FileReader fr=new FileReader(f); 
BufferReader br=BufferReader(fr);
 EJEMPLO:

package textoplano;
import java.io.*;

public class Archivo_Plano {
    private File f;
    public void crear_archivo(){
        try {
//            f=new File("C:/Users/Alumno/Documents/Secretitos.txt");
                       f=new File("archivos/Secretitos.txt");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void escribir_archivo(){
        try {
            FileWriter fr = new FileWriter(f);
            fr.write("Este es mi archivo plano");
            fr.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void leer_archivo(){
        try {
            FileReader fr=new FileReader(f);
            BufferedReader br=new BufferedReader(fr);//lo que hace el buffer el llere los datos uno por uno
            String linea=null;//va leer las lineas d emi archivo
            while ((linea=br.readLine())!=null) {                
                System.out.println(linea);
            }
            br.close();
            fr.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

package textoplano;

public class Principal_archivoplano {
    public static void main(String[] args) {
        Archivo_Plano ap=new Archivo_Plano();
        ap.crear_archivo();
        ap.escribir_archivo();
        ap.leer_archivo();
    }
    
}