lunes, 6 de agosto de 2018

hols vomo rdtsd

Share:

miércoles, 24 de enero de 2018

EVENTOS: BAJO NIVEL Y SEMANTICOS

Eventos: bajo nivel y semánticos



Eventos de bajo nivel
Evento
Significado
ComponentEvent
Cambio en el tamaño, posición o visibilidad de un componente
FocusEvent
Cambio de foco (capacidad de un componente de recibir entrada desde el teclado)
KeyEvent
Operación con el teclado
MouseEvent
Operación con los botones del ratón o movimientos del ratón 
WindowEvent
Cambio de estado en una ventana
AncestorEvent
Cambio en la composición, visibilidad o posición de un elemento superior (ancestro) de la jerarquía de composición

Eventos de alto nivel
ActionEvent
Realización de la acción específica asociada al componente
ChangeEvent
Cambio en el estado del componente
ItemEvent
Elemento seleccionado o deseleccionado
CaretEvent
Cambio en la posición del cursor de inserción en un componente que gestiona texto 
ListSelectionEvent
Cambio en la selección actual en una lista

Eventos de la clase JComponent 


Tipo de Eventos
Evento
Eventos del Foco (Focus)

Foco obtenido
 (focusGained)
 Foco perdido
(focusLost)
Eventos de entrada de teclado (Key)
Tecla presionada (keyPressed)
Tecla soltada (keyReleased)
Tecla presionada y soltada (keyTyped)
Eventos de ratón (Mouse)
Tecla del ratón presionada y soltada (mouseClicked)
El ratón entra en un componente (mouseEntered)
El ratón sale de un componente (mouseExited)
Tecla del ratón presionada (mousePressed)
Tecla del ratón soltada (mouseReleased)
Eventos de movimiento del ratón (MouseMotion)
El ratón se ha movido mientras una tecla se encuentra pulsada. El componente está siendo arrastrado
(mouseDragged)
El ratón se ha movido y no se está pulsando ninguna tecla (mouseMoved)
Eventos de la rueda del ratón (MouseWheel)
La rueda ha rotado. (mouseWheelMoved)




Eventos de la clase AbstractButton (JButton) 

Tipo de eventos
Evento
Eventos de acción (Action)
Se ha hecho clic en el botón (actionPerformed)
Eventos de cambio (Change)
El estado del botón ha cambiado (stateChanged)
Eventos de selección de un item (Item)
Ha cambiado el estado de selección del botón (itemStateChanged)
Eventos de acción (Action)
Se ha hecho clic en el botón (actionPerformed)



Eventos de la clase JComboBox

Tipo de eventos
Evento
Eventos de acción (Action)
Se ha seleccionado un elemento. Si se puede escribir en el  cuadro de texto se genera este evento cuando se pulsa la tecla ENTER (actionPerformed)
Eventos de selección de un item (Item)
Ha cambiado la selección de la lista desplegable (itemStateChanged) (Se disparan dos eventos)


Eventos de la clase Window (JFrame)

Tipo de eventos
Evento
Eventos de foco en la ventana (WindowFocus
Foco obtenido por la ventana (windowGainedFocus) Foco perdido por la ventana (windowLostFocus
Eventos del ciclo de vida de la ventana (Window
Ventana activada (windowActivated)
La ventana ha sido cerrada como resultado de llamar al método dispose (windowClosed)
El usuario ha pulsado el botón de cierre de la ventana
(windowClosing)
La ventana ya no es la ventana activa (windowDeactivated)
La ventana ha pasado de minimizada a normal (windowDeiconified)
La ventana se ha minimizado (windowIconified)
La ventana se ha hecho visible por primera vez (windowOpened)
Eventos de estado de la ventana (WindowState
La ventana ha cambiado de estado en cuanto a minimizada, maximizada, restaurada, etc. (WindowStateChanged)



Evento de la clase JTextComponent (JTextField) 
Tipo de eventos
Evento
Eventos de entrada de texto (InputMethod)
El cursor ha cambiado de posición (caretPositionChanged)
El texto introducido por teclado ha cambiado (inputMethodTextChanged)
Eventos de cursor (Caret)
El cursor ha cambiado de posición (caretUpdate)




Share:

martes, 23 de enero de 2018

CREAR PROPIOS EVENTOS



package proyectoempresaevent;

import java.util.ArrayList;
import java.util.ListIterator;

public class Empresa {

    private int id;
    private String nombre;
    private String apellido;
    private int edad;
    private String empresa;
    private static ArrayList listeners;

    public Empresa(int id, String nombre, String apellido, int edad, String empresa) {
        this.id = id;
        this.nombre = nombre;
        this.apellido = apellido;
        this.edad = edad;
        this.empresa = empresa;
        listeners=new ArrayList();
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
        this.triggerIdEvent();
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
        this.triggerNameEvent();
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
        this.triggerLasNameEvent();
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
        this.triggerAgeEvent();
    }

    public String getEmpresa() {
        return empresa;
    }

    public void setEmpresa(String empresa) {
        this.empresa = empresa;
        this.triggerBusinessEvent();
    }

    public void addEventListener(changeEventListener listner) {
        listeners.add(listner);
    }

    private void triggerNameEvent() {
        ListIterator li = listeners.listIterator();
        while (li.hasNext()) {
            changeEventListener listener = (changeEventListener) li.next();
            changeEvent readerObject = new changeEvent(this, this);
            (listener).onNameChanged(readerObject);
        }
    }

    private void triggerIdEvent() {
        ListIterator li = listeners.listIterator();
        while (li.hasNext()) {
            changeEventListener listener = (changeEventListener) li.next();
            changeEvent readerObject = new changeEvent(this, this);
            (listener).onIdChange(readerObject);
        }
    }

    private void triggerAgeEvent() {
        ListIterator li = listeners.listIterator();
        while (li.hasNext()) {
            changeEventListener listener = (changeEventListener) li.next();
            changeEvent readerObject = new changeEvent(this, this);
            (listener).onAgeChange(readerObject);
        }
    }

    private void triggerBusinessEvent() {
        ListIterator li = listeners.listIterator();
        while (li.hasNext()) {
            changeEventListener listener = (changeEventListener) li.next();
            changeEvent readerObject = new changeEvent(this, this);
            (listener).onBisnessChange(readerObject);

        }
    }

    private void triggerLasNameEvent() {
        ListIterator li = listeners.listIterator();
        while (li.hasNext()) {
            changeEventListener listener = (changeEventListener) li.next();
            changeEvent readerObject = new changeEvent(this, this);
            (listener).onBisnessChange(readerObject);

        }
    }

}


package proyectoempresaevent;

import java.util.EventListener;


/*Estos son los métodos que se van a
disparar cuando suceda algún cambio en alguno de
los datos que recoge la clase Empresa.
Por ejemplo, sin una vez establecemos
el nombre y luego queremos cambiarlo, se va
a disparar ejecutar el método onNameChange.
Nuestro proyecto ahora debe lucir asi:*/
public interface changeEventListener extends EventListener {

    public abstract void onIdChange(changeEvent ev);

    public abstract void onNameChanged(changeEvent ev);

    public abstract void onLastNameChange(changeEvent ev);

    public abstract void onAgeChange(changeEvent ev);

    public abstract void onBisnessChange(changeEvent ev);
}






package proyectoempresaevent;

import java.util.EventObject;

/**
 *
 * @author USUARIO
 */
public class changeEvent extends EventObject {

    Empresa empresa;

    public changeEvent(Object o, Empresa empress) {
        super(o);
        this.empresa = empress;
    }

}


package proyectoempresaevent;

/**
 *
 * @author USUARIO
 */
public class ProyectoEmpresaEvent {

    static changeEventListener evento = new changeEventListener() {
        @Override
        public void onIdChange(changeEvent ev) {
            System.out.println("ha cambiado el id");
            
        }

        @Override
        public void onNameChanged(changeEvent ev) {
            System.out.println("ha cambiado el nomrbe");
        }

        @Override
        public void onLastNameChange(changeEvent ev) {
            System.out.println("ha cambiado el apellido");
        }

        @Override
        public void onAgeChange(changeEvent ev) {
            System.out.println("ha cambiado la edad");
        }

        @Override
        public void onBisnessChange(changeEvent ev) {
            System.out.println("ha cambiado el nombre de la empresa");
        }
    };

    public static void main(String[] args) {
        Empresa empresa = new Empresa(15, "levi", "velasquez", 19, "naranja");
        empresa.addEventListener(evento);
        empresa.setApellido("levi velasquez paz");
        empresa.setNombre("juan carlo");

    }

}







Share:

JTextField

 o campo de texto es un componente utilizado para la captura de datos, estos son casi indispensables en una aplicacion. ... Esto nos crea un campo de texto con un texto especificado y el numero de columnas. Si desea ver todos los constructores y todos los metodos de la clase JLabel



PARA MAS INFORMACION VISITAR LA PAGINA DE LA API DE JAVA


aqui un ejemplo que nos presenta un sombra cuando gana el foco se elimina el texto y deje que el usuario escriba y cuando pierde el foco aparece el texto por defecto

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package principal;


import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Principal extends JFrame{

JTextSombra txtnombre,txttel,txtcorreo;

public Principal() {
JPanel pdatos=new JPanel();
pdatos.setLayout(new GridLayout(3,2));

pdatos.add(new JLabel("Nombre: "));
txtnombre=new JTextSombra("Escriba su aqui su nombre");
pdatos.add(txtnombre);
pdatos.add(new JLabel("Telefono: "));
txttel=new JTextSombra(20);
pdatos.add(txttel);
pdatos.add(new JLabel("E-maiil: "));
txtcorreo=new JTextSombra("Correo Electronico",20);
pdatos.add(txtcorreo);

JButton btnmostrar=new JButton("Mostrar");
btnmostrar.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "Nombre: "+txtnombre.getText()+", Telefono: "+txttel.getText()+", Correo Electronico: "+txtcorreo.getText());
}

});
add(pdatos);
JPanel pboton=new JPanel();
pboton.add(btnmostrar);
add(pboton,BorderLayout.SOUTH);
}

public static void main(String arg[]){
Principal p=new Principal();
p.setVisible(true);
p.setBounds(0, 0, 400, 180);
p.setLocationRelativeTo(null);
p.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}


//LA CLASE JTextSombra 


package principal;

import java.awt.Color;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.JTextField;

public class JTextSombra extends JTextField implements FocusListener {

    String texto = "Escriba aqui...";

    public JTextSombra() {
        this.setText(texto);
        this.setForeground(Color.RED);
        this.addFocusListener(this);
    }

    public JTextSombra(int lg) {
        super(lg);
        this.addFocusListener(this);
    }

    public JTextSombra(String texto) {
        this.texto = texto;
        this.setText(texto);
        this.setForeground(Color.RED);
        this.addFocusListener(this);
    }

    public JTextSombra(String texto, int lg) {
        super(lg);
        this.texto = texto;
        this.setText(texto);
        this.setForeground(Color.RED);
        this.addFocusListener(this);
    }


    public void focusLost(FocusEvent arg0) {
        if (JTextSombra.this.getText().equalsIgnoreCase("")) {
            JTextSombra.this.setText(texto);
            JTextSombra.this.setForeground(Color.RED);
        }
    }

    @Override
    public void focusGained(FocusEvent fe) {     
        if (JTextSombra.this.getText().equalsIgnoreCase(texto)) {
            JTextSombra.this.setText("");
            JTextSombra.this.setForeground(Color.black);
        }
    }
}




Share:

Interface ActionListener

La interfaz del oyente para recibir eventos de acción. La clase que está interesada en procesar un evento de acción implementa esta interfaz, y el objeto creado con esa clase se registra con un componente, utilizando el método addActionListener del componente. Cuando se produce el evento de acción, se invoca el método actionPerformed de ese objeto.

nos permite tener un oyente para estar ala espera si se ha precionado un boton, etc para luego ejecutar actionPerformed() que es un metodo de la interfas ActionListener

componentes del actionListener

e.getSource():Nos devuelve el objeto que hace la llamada al oyente

PARA MAS INFORMACION VISITAR LA PAGINA DE LA API DE JAVA


EJEMPLO

package graficos;

import java.awt.Button;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author USUARIO
 */
public class primeraClaseEventosMouseClicked {

    public static void main(String[] args) {

        marcoEvent marco = new marcoEvent();
        marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        marco.setVisible(true);
    }

}

class marcoEvent extends JFrame {

    public marcoEvent() {
        setTitle("Prueba de colores");
        setSize(500, 500);
        setLocation(200, 200);
        setVisible(true);
        laminaEvent lamina = new laminaEvent();
        add(lamina);

    }
}

class laminaEvent extends JPanel implements ActionListener {

    boolean verificar = false;
    Button boton = new Button("Nuevo");
    Button boton1 = new Button("boton1");
    TextField texto1 = new TextField("Texto 1");

    public laminaEvent() {

        add(boton);
        add(boton1);
        add(texto1);

        boton1.addActionListener(this);
        boton.addActionListener(this);

    }

    @Override
    public void actionPerformed(ActionEvent e) {

        if (e.getSource().equals(boton)) {
            setBackground(Color.GREEN);
        } else if (e.getSource().equals(boton1)) {
            setBackground(Color.RED);
        } else if (e.getSource().equals(texto1)) {
            texto1.setText("hisistes click aqui");
        }

    }


}

Share:

JFrame


es una clase utilizada en Swing (biblioteca gráfica) para generar ventanas sobre las cuales añadir distintos objetos con los que podrá interactuar o no el usuario. A diferencia de JPanel, JFrame posee algunas nociones típicas de una ventana como minimizar, cerrar, maximizar y poder moverla.

ALGUNOS METODOS QUE INCLUYE JFrame

setsize() la cual permite poner ancho, altura a nuestra ventana 

setLocation()permite darle una direccion en que parte se localizara la ventana construida

setbackground()el color de la ventana

setforeground()permite poner a todos los componentes de la letras del mismo color los que estan incluido en la venta 

PARA MAS INFORMACION VISITAR LA PAGINA DE LA API DE JAVA

EJEMPLO




package graficos;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author USUARIO
 */
public class ponerImageneEnFrame {

    public static void main(String[] args) {

        marcoColors marco = new marcoColors();
        marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        marco.setVisible(true);
    }

}

class marcoColors extends JFrame {

    public marcoColors() {
        setTitle("Prueba de colores");

        setSize(500, 500);
        setLocation(200, 200);
        setVisible(true);
        laminaImagen imagen = new laminaImagen();
        add(imagen);
    }
}

class laminaImagen extends JPanel {

    private Image imagen;

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        File miImagen = new File("src/graficos/uno.jpg");
        try {
            imagen = ImageIO.read(miImagen);
            double altura = imagen.getHeight(this);
            double ancho = imagen.getWidth(this);
            System.out.println("altura " + altura + " ancho " + ancho);
        } catch (Exception e) {
            System.out.println("Error" + e.getMessage());
        }
        g.drawImage(imagen, 0, 0, null);
        for (int i = 0; i < 200; i++) {
            for (int j = 0; j < 200; j++) {
                g.copyArea(0, 0, 360, 480, 360 * i,  300*j);
            }
        }

    }

}

Share:

Interface WindowStateListener

La clase que está interesada en procesar un evento de estado de ventana implementa esta interfaz (y todos los métodos que contiene) o amplía la clase abstracta WindowAdapter (anulando solo los métodos de interés).

Nos permite saber el estado de la ventana actual implementado un único metodo y tambien controlar el tamaño del JFrame

windowStateChanged(WindowEvent e) la cual nos permite saber que ventana
ha cambiado 


e.getNewState(); Para WINDOW_STATE_CHANGED eventos devuelve el nuevo 
estado de la ventana.
if (we.getNewState() == 6)

otro ejemplo
if (we.getNewState() == 0) {
                texto = "esta en el nivel 0 pantalla grande";

            }

PARA MAYOR INFORMACION VISITAR LA PAGINA DE LA API DE JAVA


EJEMPLO

package graficos;

import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Evento_Ventana {

    public static void main(String[] args) {

        MarcoEstado estado = new MarcoEstado();
        estado.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

class MarcoEstado extends JFrame {

    String texto;

    public MarcoEstado() {
        setTitle("Nueva ventana");
        setVisible(true);
        setBounds(300, 300, 500, 350);
       
        addWindowStateListener(new cambiarEstado());
    }

    class cambiarEstado implements WindowStateListener {

        @Override
        public void windowStateChanged(WindowEvent we) {

            System.out.println("La ventana ha cambiado de estado");
            if (we.getNewState() == 6) {//se usa fram.maximize_both o comparando con el numero
                texto = "Esta en el nivel 6";
            } else if (we.getNewState() == 0) {
                texto = "esta en el nivel 0 pantalla grande";
            }
            System.out.println(texto);
        }

     
    }

}

Share:

BTemplates.com

Buscar este blog

Archivo del Blog

Con tecnología de Blogger.

hols vomo rdtsd

https://shon.xyz/3Nfiq