jueves, 23 de marzo de 2017

Cuestionario


¿Que es un evento?
Son acciones que se tienen que ejecutar en una interfaz gráfica. 
Menciona los 2 grupos generales de los eventos
Eventos de Bajo Nivel
Eventos Semánticos¿Que tipo de eventos encapsula la semántica del modelo de componentes de interfaz usuario?
Action Event, ChangedEvent, ItemEvent
¿Cual es el evento que controla las acciones realizadas por el teclado?
Key Event
¿Que realiza el evento MouseEvent?
Controla todas las acciones que podemos realizar con el mouse.
Menciona 3 componentes en los cuales se puede generar eventos
Button, Scrollbar, TextComponents
¿Cual es el paquete que contiene la mayor parte de las clases e interfaces de eventos?
Java.awt.Event
¿Que evento es el controla las acciones de las ventana?
WindowEvent

Tipos de Eventos

Los eventos son todas las acciones que el usuario inicia, al dar clic sobre un button, presionar las teclas del teclado, etc.
Un evento es la notificación que hace un elemento gráfico cuando el usuario interactua con el.
Existen 2 tipos de eventos las cuales son:
a) Eventos de Bajo Nivel.
b) Eventos Semánticos (Alto Nivel).

Eventos de Bajo Nivel
 Representan entradas o interacciones de bajo nivel con elementos de interfaz gráfico ( cambio de foco,cambio de tamaño u operación con el mouse o con el teclado).
Component Event: Cambia de tamaño, posición, visibilidad
Focus Event: Cambio de foco, capacidad de un componente.
KeyEvent: Operación con el teclado.
Mouse Event: Operación con el Mouse.
Window Event: Operación de la ventana
Eventos Semánticos (Alto Nivel)
 Encapsulan la semántica del modelo de componentes del interfaz de usuario(hacer una acción, un cambio).
Action Event: Realización de acción especifica, asociado al componente.
Change Event: Cambio de estado en el componente (texto,color,forma).
Item Event: Elemento Seleccionado o De-seleccionado.
ListSelectionEvent: Cambio en la selección actual de una lista.

Algunos eventos en donde  se pueden generar:
Eventos de ventana
Son los que se generan en respuesta a los cambios de una ventana, un Frame o un Dialogo.

  1. Window_Destroy
  2. Window_Expose
  3. Window_Iconifi
  4. Window_Moved
  5. Window_Deiconifi

Eventos del teclado

Son generados en respuesta a cuando el usuario pulsa y suelta una tecla mientras un componente tiene el foco de entrada.

  1. Key_Press
  2. Key_Down
  3. Key_Up

Eventos del Ratón(Mouse)

Son los eventos generados por las acciones sobre el ratón dentro de los limites de un componente.

  1. Mouse_Down
  2. Mouse_Up
  3. Mouse_Move
  4. Mouse_Enter




Clases de Eventos

Action Event: Se genera cuando se presiona un button, se hace doble click en un elemento de una lista, o se selecciona un elemento de tipo menú.
Ajustment Event: Se genera cuando se manipula el scrollbar.
Component Event : Se genera cuando un componente se oculta se mueve, se cambia de tamaño o se ha visible.
Container Event: Se genera cuand se añade o se elimina un componente de un contenedor.
Focus Event: Se genera cuando un componente gana o pierde el foco.
Input Event: Superclase abstracta de cualquier clase de evento de entrada de componente.
ItemEvent: Se genera cuando se hace click en un CheckBox o en un elemento de la lista.
KeyEvent: Se genera cuando se recibe una entrada desde el teclado. 
Mouse Event: Se genera cuando se arrastra, se mueve, se hace click, se presiona o se libera el mouse. 
TextEvent: Se genera cuando se cambia el valor de un area de texto o un componente de texto.
WindowEvent: Se genera cuando se cambia una ventana se activa, se cierra, se desactiva, se minimiza, se maximiza, se abre o se sale de ella.

martes, 21 de marzo de 2017

Practica Karel 2

Has que Karel recoja Zumbadores del reglon y los coloque en la pared que esta frente a el

iniciar-programa
    inicia-ejecucion
    Repetir 3 veces gira-izquierda;
    mientras frente-libre hacer inicio
    avanza;
    mientras junto-a-zumbador hacer inicio
    coge-zumbador;
    fin;
    fin;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa

Practica Karel 2

Karel quiere asomarse arriba de la barda para ver que hay del otro lado.

iniciar-programa
    inicia-ejecucion
    Repetir 3 veces gira-izquierda;
    avanza;
    gira-izquierda;
    Mientras Izquierda-Libre HACER inicio
    Avanza;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa

Practica Karel 1

Karel quiere visitar a su abuelita, la casa de su abuela se encuentra frente a Karel en la posicion que tiene la izquierda y esta junto a un Zumbador

iniciar-programa
    inicia-ejecucion
     Repetir 3 veces gira-izquierda;
     avanza;
     Repetir 4 veces coge-zumbador;
     avanza;
     Repetir 6 veces coge-zumbador;
     avanza;
     Repetir 4 veces coge-zumbador;
     avanza;
     Repetir 9 veces coge-zumbador;
     avanza;
     coge-zumbador;
     avanza;
     Repetir 6 veces coge-zumbador;
     avanza;
     Repetir 5 veces coge-zumbador;
     Repetir 2 veces avanza;
     gira-izquierda;
     Repetir 6 veces avanza;
     Repetir 3 veces gira-izquierda;
     avanza;
     Repetir 3 veces gira-izquierda;
     Repetir 6 veces avanza;
     gira-izquierda;
     avanza;
     Repetir 4 veces deja-zumbador;
     avanza;
     Repetir 6 veces deja-zumbador;
     avanza;
     Repetir 4 veces deja-zumbador;
     avanza;
     Repetir 9 veces deja-zumbador;
     avanza;
     deja-zumbador;
     avanza;
     Repetir 6 veces deja-zumbador;
     avanza;
     Repetir 5 veces deja-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa

Eventos en Java


package eventos;
import java.awt.*;
public class Principal extends javax.swing.JFrame {
    public Principal() {
        initComponents();
    }
  private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                               
        // TODO add your handling code here:
        CheckBox Check= new CheckBox();
        Check.setVisible(true);
    }                                        

    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        ListBox List =new ListBox();
        List.setVisible(true);
    }                                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO ad your handling code here:

        String eleccion = this.cmbMetodos.getSelectedItem().toString();
         if(eleccion.equals("Naranja")){
           this.getContentPane().setBackground(Color.ORANGE);
        }
        if(eleccion.equals("Amarrillo")){
           this.getContentPane().setBackground(Color.YELLOW);
        }
        if(eleccion.equals("Azul")){
           this.getContentPane().setBackground(Color.BLUE);
        }
        if(eleccion.equals("Verde")){
           this.getContentPane().setBackground(Color.GREEN);
        }
        if(eleccion.equals("Negro")){
           this.getContentPane().setBackground(Color.BLACK);
        }
        if(eleccion.equals("Rojo")){
           this.getContentPane().setBackground(Color.RED);
        }
        if(eleccion.equals("Morado")){
           this.getContentPane().setBackground(Color.MAGENTA);
        }
        if(eleccion.equals("Rosa")){
           this.getContentPane().setBackground(Color.PINK);
        }
        if(eleccion.equals("Gris")){
           this.getContentPane().setBackground(Color.gray);
        }
        if(eleccion.equals("Azul Claro")){
           this.getContentPane().setBackground(Color.CYAN);
        }
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

         Principal.this.setSize(1000, 800);
    }                                        

    private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        System.exit(0);
    }                                        

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        if (jLabel.isVisible()){
            jLabel.setVisible(false);
        }
        else{
            jLabel.setVisible(true);
        }       
    }                                        
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        Principal.this.setSize(500, 400);
    }


public class ListBox extends javax.swing.JFrame {
    
    public ListBox() {
        initComponents();
        //Método de arranque.
        inicio();

    }
private DefaultListModel modelList; 
   private void inicio(){
        String [] nom  = { ""};
//DefaultListModel para manejar las lista.
          modelList = new DefaultListModel();
//Agregamos datos a la lista utilizando for
        for (String string : nom) {
       modelList.addElement(string);
       jList1.setModel(modelList);
       jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
       jList1.setSelectedIndex(0);
       jList1.setVisibleRowCount(7);
    }
   }
    private void eliminar(){
  //Método para eliminar elementos de la lista Se optiene el índice del elemento seleccionado
     int selectedIndex = jList1.getSelectedIndex();
 //Si selectedIndex es igual a ‐1, no hay elemento seleccionado
      if(selectedIndex!=-1){
      modelList.remove(selectedIndex);
      }
    else{
   JOptionPane.showMessageDialog(null, "Seleccione un elemento de la lista.");
   }
}
    //Método para comprobar datos repetidos
     protected boolean enLista(String name) {
       return modelList.contains(name);
}
     private void agregar(){
//Método para agregar elementos a la lista
//Comprobamos que el campo de datos no este vacio
         if(txtTexto.getText().isEmpty()){
           JOptionPane.showMessageDialog(null, "Campo vacio.");
         }
           else{
//Utilizando el método enLista, comprobamos que no se repitan los datos.
         if(enLista(txtTexto.getText())){
          JOptionPane.showMessageDialog(null, "Nombre repetido..");
          }
//Agregamos elemento y limpiamos campo.
         else{
          modelList.addElement(txtTexto.getText());
         txtTexto.setText(null);
         }
       }

     }

private void BtnRegresarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        Principal prin = new Principal();
        prin.setVisible(true);
        prin.setMaximumSize(null);
        this.dispose();
    }                                           

    private void BtnAñadirActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
       agregar();   
    }                                         

    private void BtnEliminarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        eliminar();

    } 



public class CheckBox extends javax.swing.JFrame {

    public CheckBox() {
        initComponents();
    }
    
  public String ValidarDatos() {//Metodo para comprobar que los datos esten completos
        String msj = "";
        if (txtTexto.getText().equals("")) {//Si txtID esta vacio
            msj += "Por favor digite el Nombre \n";
            txtTexto.requestFocusInWindow();
        }      
        return msj;//devuelve msj   
        //validar que el usuario no existe
    }
  private void BtnMostrarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
        JTextField Resultado = txtTexto;
        if (ValidarDatos().equals("")) {
        try{
            JOptionPane.showMessageDialog(null, Resultado);
            if(jCheckBox1.isSelected() == true){
                JOptionPane.showMessageDialog(null, "Usted  es Mayor de edad");
            }else{
                JOptionPane.showMessageDialog(null, "Usted no es mayor de edad");
            }
             if (jCheckBox2.isSelected() ==true){
                JOptionPane.showMessageDialog(null, "Usted tiene Hijos");
             }
             else{
                   JOptionPane.showMessageDialog(null, "Usted no tiene Hijos");
             }
             if (jCheckBox3.isSelected() ==true){
                 JOptionPane.showMessageDialog(null,"Usted estudió una Carrera");
             }
             else{
                 JOptionPane.showMessageDialog(null,"Usted no estudió una Carrera");
             }
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
            CheckBox Check = new CheckBox();
        }
      }
        else{
         JOptionPane.showMessageDialog(rootPane, "ERROR!! \n" + ValidarDatos(), "Verificando Dato",
                JOptionPane.ERROR_MESSAGE);   
        }
    }                                          

    private void BtnRegresarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        Principal prin = new Principal();
        prin.setVisible(true);
        prin.setMaximumSize(null);
        this.dispose();
    }