1-Eventos de Ventana Java

Más Crear blog Acceder APRENDIENDO A PROGRAMAR JAVA VBA HTML CSS APUNTES JAVA VBA HTLM5 CSS Cuando empecé a aprender

Views 81 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Más

Crear blog

Acceder

APRENDIENDO A PROGRAMAR JAVA VBA HTML CSS APUNTES JAVA VBA HTLM5 CSS Cuando empecé a aprender a programar, me dí cuenta que en ocasiones no era tan fácil como creía encontrar apuntes y deseo compartir lo que voy aprendiendo por si a alguien le resulta de utilidad. Ahora tengo una meta que es aprender java, empecé desde cero con la programación orientada a objetos, las herencias de java, que es una clase en java y poco a poco intento sumar conocimientos y compartirlos con todos vosotros.

martes, 23 de enero de 2018

EVENTOS DE VENTANA JAVA EVENTOS Un evento constituye un método para que una clase notifique a los usuarios de un objeto que algo interesante le sucede, como, por ejemplo, que se ha hecho clic en un control de una interfaz gráfica de usuario. Esta notificación se denomina provocar un evento, este evento desencadenará una acción. En este caso el evento es hacer clic, pero dependiendo de en qué botón hagamos clic la acción que se desencadena es diferente. No es lo mismo hacer clic en el botón de grabar de un formulario que hacer clic en el de cerrar. Pero el evento sí que es el mismo hacer clic. Para programar en java eventos nos resultaran necesarios 3 objetos: 1. Que desencadenante de la acción (hacer clic, cerrar ventana, cargar el programa.. )

OBJETO EVENTO 2. Quien desencadena la acción (que botón toco el usuario, que venta cerro, que programa cerro…)

OBJETO FUENTE

3.

Quién recibe la acción , cuando hagamos clic en el botón X sobre que objeto se desencadenara la acción(la ventana, el programa, el formulario, la impresora..)

OBJETO LISTENER

implementa la interface ActionListener

Ejemplo. Nosotros tenemos un formulario con un botón guardar y el usuario lo clica para cerrar el programa. OBJETO EVENTO

=

Hacer clic

OBJETO FUENTE

=

El botón rojo, amarillo o azul

OBJETO LISTENER

=

La lamina

ACCIÓN

=

Modificar color de la lámina (setBackground)

Google+ Followers DAVID GIMÉNEZ Añadir a círculos

Crear un botón (button) ActionListener Para crear el botón en la lámina necesitamos la clase JBuuton, creamos un objeto de la clase JButton y con el método add() lo cargamos en el constructor; class Lamina6 extends JPanel{ private Image foto; JButton PrimerBoton= new JButton ("CERRAR"); // constructor donde hacemos visible el boton public Lamina6() { add(PrimerBoton); }

103 me tienen en sus círculos.

Ejercicio:

Es la interface que tenemos que utilizar para realizar acciones de botones, esta interface nos obliga a implementar el método actionPerformed(ActionEvent e) import java.awt.*; import javax.swing.*;

Seguidores

Ver todo

import java.awt.event.*; public class ddd { public static void main(String[] args) { Marco10 mimarco10 = new Marco10(); mimarco10.setVisible(true); mimarco10.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class Marco10 extends JFrame{ public Marco10() { setTitle("ESTE ES NUESTRO MARCO"); setBounds (700,300,500,300); Lamina colores = new Lamina(); add(colores); } } class Lamina extends JPanel implements ActionListener{ JButton botonAzul = new JButton("Azul"); JButton botonRojo = new JButton("Rojo"); JButton botonAmarillo = new JButton("Amarillo"); public Lamina() { add(botonAzul); add(botonRojo); add(botonAmarillo); botonAzul.addActionListener(this);//el oyente es la lamina (this) botonRojo.addActionListener(this); botonAmarillo.addActionListener(this); } public void actionPerformed(ActionEvent e) { Object FUENTE = e.getSource(); if (FUENTE == botonAzul) {setBackground(Color.blue);} else if (FUENTE == botonRojo) {setBackground(Color.RED);} else if (FUENTE == botonAmarillo) {setBackground(Color.YELLOW);} } }

Seguidores (4)

Seguir

Archivo del blog ▼ 2018 (131) ► agosto (1) ► junio (3) ► mayo (3) ► abril (26) ► marzo (43) ► febrero (14) ▼ enero (41) OBJETOS DE UN Marco java VBA ACCESS CASOS PRACTICOS EVENTOS DE VENTANA JAVA EVENTOS JAVA Múltiples fuentes para un solo oyente... EVENTOS JAVA

También lo podríamos hacer así: public void actionPerformed(ActionEvent e) { switch (e.getActionCommand()) { case "Azul": setBackground(Color.blue); break; case "Amarillo": setBackground(Color.yellow); break; case "Rojo": setBackground(Color.red); break; default: break; } } _____________________________________________________________________________ PODRIAMOS EJECUTAR EL EJERCICIO ANTERIOR UTILIZANDO UNA CLASE INTERNA Y CREANDO OBJETOS CON LOS COLORES. import import import public

java.awt.*; javax.swing.*; java.awt.event.*; class ddd { public static void main(String[] args) { Marco10 mimarco10 = new Marco10(); mimarco10.setVisible(true); mimarco10.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

} class Marco10 extends JFrame{ public Marco10() { setTitle("ESTE ES NUESTRO MARCO"); setBounds (700,300,500,300); Lamina colores = new Lamina(); add(colores); } } class Lamina extends JPanel{ JButton botonAzul = new JButton("Azul"); JButton botonRojo = new JButton("Rojo"); JButton botonAmarillo = new JButton("Amarillo"); public Lamina() { add(botonAzul); add(botonRojo); add(botonAmarillo); ColorFondo2 auzul = new ColorFondo2(Color.BLUE); ColorFondo2 Rojo = new ColorFondo2(Color.red); ColorFondo2 Amarillo = new ColorFondo2(Color.YELLOW); botonAzul.addActionListener(auzul);//el oyente botonRojo.addActionListener(Rojo); botonAmarillo.addActionListener(Amarillo); } ///UTIÑIZAMOS UNA CLASE INTERNA DENTRO DE LA LAMINA private class ColorFondo2 implements ActionListener{ private Color ColorDefondo; public ColorFondo2 (Color c) {//constructor ColorDefondo=c; } public void actionPerformed (ActionEvent e) { setBackground(ColorDefondo); } } }

PONER EL FONDO DE ECLIPSE NEGRO diccionario programación UTILIZAR VARIAS FUENTES DE EVENTOS JAVA Eventos de foco en ventana windowFocusListener jav... CONFIRMAR UN CORREO CON JAVA CUADROS DE TEXTO E IMÁGENES EN UN MARCO DE JAVA Eventos de foco FocusListener java RECORDSET VBA ACCES ADO O DAO Eventos de ratón MouseMotionListener Eventos de ratón MouseListener Eventos de teclado con interface KeyListner NÚMERO FACTORIAL CON JAVA DoCmd.SetWarnings true or false: activa y desactiv... TRATAMIENTO DE NÚMEROS PRIMOS JAVA CREAR UN RECORDSET EN ACCESS COMPARAR DOS STRING CON UN IF VBA ACCES USANDO LIK... Controlador de estados de las ventanas java CREAR UN CONTROLADOR DE ESTADOS DE UNA VENTANA jav... Eventos de ventanas con clases adaptadoras java COMPUTACIÓN CUÁNTICA

Eventos de ventanas WindowListener

Eventos de ventanas WindowListener EVENTOS JAVA

WindiowListener se utiliza para activar acciones de ventana. Nuestro oyente serán acciones que realice nuestra venta o Frame (maximizar, cerrar, mientras se cierra, mientras se queda en segundo plano, restaurar, minimizar, abrir).

1. 2. 3. 4. 5. 6. 7.

METODOS: La interface WindowListener nos obliga a implementar los siguiente métodos siempre, los utilicemos o no. public void windowActivated(WindowEvent e) {SE DESEMBOCA AL MAXIMIZAR LA CENTA} public void windowClosed(WindowEvent e) {DESEMBOCA AL CERRAR LA VENTANA} public void windowClosing(WindowEvent e) {SE DESEMBOCA MIENTRAS CERRAMOS LA VENTANA"} public void windowDeactivated(WindowEvent e) {DESEMBOCA AL DEJAR EN SEGUNDO PLANO O MINIMIZADA LA VENTANA"} public void windowDeiconified(WindowEvent e) {DESEMBOCA AL RESTAURAR LA VENTANA} public void windowIconified(WindowEvent e) {MINIMIZAR VENTANA} public void windowOpened(WindowEvent e) {DESEMBOCA AL ABRIR LA VENTANA}

En el siguiente ejemplo crearemos dos marcos situándolos en dos puntos diferentes de la pantalla y utilizaremos los eventos de pantalla implementado la interface WindowListener, hecho que nos obligara a poner todos sus métodos. import import import import import import import public

javax.swing.*; java.awt.Color; java.awt.Font; java.awt.Graphics; java.awt.Graphics2D; java.awt.event.WindowEvent; java.awt.event.WindowListener; class frame1 { public static void main(String[] args) { Marco MARCO_1 = new Marco(); Marco MARCO_2 = new Marco(); MARCO_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MARCO_1.setTitle("MARCO 1"); MARCO_1.setBounds(200,300,500,350); MARCO_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); MARCO_2.setTitle("MARCO 2"); MARCO_2.setBounds(800,300,500,350);

} } class Marco extends JFrame{ public Marco() { setBounds(300,300,500,350); setVisible(true); lamina l = new lamina(); add(l); //PONEMOS A NUESTRO MARCO A LA ESPERA DE UNA ACCION DE VENTA oyente oyenteVentana = new oyente(); addWindowListener(oyenteVentana); } } class lamina extends JPanel{ public void paintComponent(Graphics g) { super.paintComponent(g);

INSERTAR UN PDF EN UN POST DE BLOGGER TEXTAREA CREAR UN BOTÓN EN UN A LAMINA DE UNA MARCO DE JAV... APRENDER A PROGRAMAR HACER UN MOSAICO DENTRO DE UNA LAMINA DE UN MARCO ... COPIAR Y PEGAR IMÁGENES DENTRO DE UNA LAMINA DE UN... INCLUIR Y MANIPULAR IMÁGENES DENTRO DE UN FRAME DAR COLOR A TEXTOS Y FONDOS DE UNA MARCO (FRAME) DAR FORMATO A LOS TEXTOS DE UN FRAME JAVA Como saber los tipos de letras que tenemos en nues... MATRICES (ARRAYS O ARREGLOS) java incluir una lamina dentro de un marco java INTERFACES DE USUARIOS JAVA ¿POR QUE JAVA? ► 2017 (32)

Follow by Email Email address...

Submit

Páginas Página principal

Datos personales

//refundicion de Graphics2D Graphics2D g2d = (Graphics2D) g; Font Letra = new Font("Arial",Font.BOLD,20); setBackground(Color.darkGray); g.setFont(Letra); g.setColor(Color.YELLOW); g.drawString("TEXTO 1", 100, 100); } } class oyente implements WindowListener{ //TENEMOS QUE IMPLIMENTAR TODOS LOS MÉTODOS public void windowActivated(WindowEvent e) { System.out.println("SE DESEMBOCA AL MAXIMIZAR LA CENTA"); } public void windowClosed(WindowEvent e) { System.out.println("SE DESEMBOCA AL CERRAR LA VENTANA"); } public void windowClosing(WindowEvent e) { System.out.println("SE DESEMBOCA MIENTRAS CERRAMOS LA VENTANA"); } public void windowDeactivated(WindowEvent e) { System.out.println("DESEMBOCA AL DEJAR EN SEGUNDO PLANO O MINIMIZADA LA VENTANA"); } public void windowDeiconified(WindowEvent e) { System.out.println("DESEMBOCA AL RESTAURAR LA VENTANA");

DAVID GIMÉNEZ Seguir

103

Empece aprendiendo a programar a los 38, creo que nunca es tarde si tienes ganas y pones constancia y esfuerzo Ver todo mi perfil

Archivo del blog agosto 2018 (1) junio 2018 (3) mayo 2018 (3)

} public void windowIconified(WindowEvent e) {//oyente boton minimizar System.out.println("MINIMIZAR VENTANA"); } public void windowOpened(WindowEvent e) { System.out.println("DESEMBOCA AL ABRIR LA VENTANA"); }

abril 2018 (26) marzo 2018 (43) febrero 2018 (14) enero 2018 (41)

}

diciembre 2017 (21)

Eventos de ventanas con clases adaptadoras

noviembre 2017 (10) octubre 2017 (1)

1. 2. 3. 4. 5. 6. 7.

Normalmente cuando deseamos utilizar un interface windowlistener nos obliga a tener que implementar los 7 métodos. Public void windowActivated(WindowEvent e) {} public void windowClosed(WindowEvent e) {} public void windowClosing(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) { } public void windowOpened(WindowEvent e) {} Para evitar esto tenemos las clases adaptadoras, en nuestro caso utilizaremos la clase WindowAdapter.

Buscar este blog Buscar

La clase WindowAdapter tiene ya implementadas las interfaces: *

WindowFocusListener

*

WindowListener

*

WindowStateListener

*

EentListener

Páginas vistas en total

1 6 9 7 0

Por lo que si en nuestra clase herea de WindowAdapter tendremos implementados todos los métodos, evitando así tener que declararlos todos.

public Marco() { setBounds(300,300,500,350); setVisible(true); lamina l = new lamina(); add(l); addWindowListner( new

oyente());

} } class oyente extends WindowAdapter{………….}

Etiquetas ¿Que conseguimos rellenando todos los datos de nuestra imagen? ¿Que formato de imagen tengo que poner en mi blog? · ArrayIndexOutOfBoundsException.I nputMismatchException



EJERCICIO.

acces

import import import import import import import import

javax.swing.*; java.awt.Color; java.awt.Font; java.awt.Graphics; java.awt.Graphics2D; java.awt.event.WindowAdapter; java.awt.event.WindowEvent; java.awt.event.WindowListener;

public class frame1 { public static void main(String[] args) { Marco MARCO_1 = new Marco(); Marco MARCO_2 = new Marco(); MARCO_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MARCO_1.setTitle("MARCO 1"); MARCO_1.setBounds(200,300,500,350); MARCO_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); MARCO_2.setTitle("MARCO 2"); MARCO_2.setBounds(800,300,500,350); } } class Marco extends JFrame{ public Marco() { setBounds(300,300,500,350); setVisible(true); lamina l = new lamina(); add(l); //PONEMOS A NUESTRO MARCO A LA ESPERA DE UNA ACCION DE VENTA addWindowListener(new oyente()); } } class lamina extends JPanel{ public void paintComponent(Graphics g) {

ACCESS actionPerformed add addActionListener addChangeListener addItemListener addMouseListener ADO AlignmentAction anchor Text aprender a programar APRENDER A PROGRMAR aprendizaje APUNTES araña de google ArithmeticException array arrayList articulo viral ATAJOS TECLADO automumérico

super.paintComponent(g); //refundicion de Graphics2D Graphics2D g2d = (Graphics2D) g; Font Letra = new Font("Arial",Font.BOLD,20);

Back Office

setBackground(Color.darkGray); g.setFont(Letra); g.setColor(Color.YELLOW); g.drawString("TEXTO 1", 100, 100);

BoldAction()

} } class oyente extends WindowAdapter{ //TENEMOS QUE IMPLIMENTAR TODOS LOS MÉTODOS public void windowActivated(WindowEvent e) { System.out.println("SE DESEMBOCA AL MAXIMIZAR LA CENTA"); } public void windowClosed(WindowEvent e) { System.out.println("SE DESEMBOCA AL CERRAR LA VENTANA"); } public void windowClosing(WindowEvent e) { System.out.println("SE DESEMBOCA MIENTRAS CERRAMOS LA VENTANA"); } public void windowDeactivated(WindowEvent e) {

Barra de Herramientas BoldAction

BorderLayout botn BoxLayout bucle bucle do BUCLE FOR BUCLE FOR EACH bucle while buffer BufferReader

System.out.println("DESEMBOCA

AL DEJAR EN SEGUNDO PLANO O MINIMIZADA LA VENTANA");

} public void windowDeiconified(WindowEvent e) { System.out.println("DESEMBOCA AL RESTAURAR LA VENTANA"); } public void windowIconified(WindowEvent e) {//oyente boton minimizar System.out.println("MINIMIZAR VENTANA"); } public void windowOpened(WindowEvent e) { System.out.println("DESEMBOCA AL ABRIR LA VENTANA"); } }

BufferWriter búsquedas para móvil cajas de texto multilínea calculadora CALSES ABSTRACTAS campana extractora canRead canWrite

CONTROLADOR DE ESTADOS DE UNA VENTANA

catch char charAt

Existe una interface que actúa cuando existe una modificación del estado de ventana sea cual sea (aumentar, minimizar, maximizar, cerrar…). WindowStateListener y recibe por parámetro el método WindowStateChanged(Windowevent e). Este método actuará cuando exista una modificación del estado de nuestra ventana. Windowevent tiene dos métodos: *

getNewState(): Obtener nuevo estado.

*

getOldState():Obtener anterior estado.

clase CLASE ANÓNIMA CLASE INTERNA CLASE INTERNA ANONIMA clase interna local CLASE JOptionPane clases adaptadoras CLASES ANIDADAS

En el siguiente ejercicio vamos a hacer dos marcos, le incluiremos dos botones y un texto, cuando realicemos una acción de venta (cerrar, abrir, maximizar…) nos saltara un mensaje avisando de que hemos realizado una modificación en nuestra ventana. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class practica_frame6 { public static void main (String[] arg) { Marco_100 Marco_1 = new Marco_100(); Marco_100 Marco_2 = new Marco_100(); Marco_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Marco_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Marco_1.setVisible(true); Marco_2.setVisible(true); Marco_1.setBounds(100,300,400,300); Marco_2.setBounds(500,300,400,300); } } class Marco_100 extends JFrame{ public Marco_100() { ModificaEstado cambio = new ModificaEstado(); Lamina10 l1 = new Lamina10(); add(l1); addWindowStateListener(cambio); setVisible(true); } } class Lamina10 extends JPanel{ public void paintComponent(Graphics g) { super.paintComponent(g); JButton cerrar = new JButton("CERRAR"); JButton open = new JButton("open"); Font Arial = new Font("Arial",Font.BOLD,20); add(cerrar); add(open); setBackground(Color.blue); g.setFont(Arial); g.setColor(Color.WHITE); g.drawString("texto 1", 100, 100);

CLASES INTERNAS ANÓNIMAS class CLASS FILE Class Timer clonar Close() Color) COLORES cómo generar un artículo comparar dos String en un if COMPRIMIDO computación cuantica condicional confirmar correo electronico CONFIRMAR UN CORREO constructor CONSTRUCTOR DE BOTONES controlador de estados de ventana controles teclado COPIAR copyArea crear método constructor de menú crear un boton en una lamina CREAR UN RECORDSET

} } __________________________________________________________________ ///////cuando hagamos algo con nuestra venta ejecutara esto////// __________________________________________________________________ class ModificaEstado implements WindowStateListener { public void windowStateChanged(WindowEvent e) { JOptionPane.showMessageDialog(null,"VENTANA MODIFICADA"); } }

crear un recorset crear una propia createGlue createHorizontalBox createHorizontalStrut createNewFile createVerticalBox

En el siguiente ejercicio crearemos dos marcos con dos botones, y utilizaremos el método getNewState() de la interface Windowevent para que nos regrese

createVerticarStrut

el estado en que se encuentra nuestra ventana, este estado nos lo regresa como un int que introduciremos en un array para que nos regrese un output de texto en el que nos indicará el

DAO

estado de la ventana.

debugger

cuadro texto

Dar tamaño a un texto

debuggimg

En la siguiente tabla os dejo los diferentes estados:

dentro del frame depuración. try desactivar mensajes de consultas desagüe

Constant Field

Value

CROSSHAIR_CURSOR

1 0 11 12 1 6 2 4 13 8 7 0 6 9 5 4 2 10 3

DEFAULT_CURSOR E_RESIZE_CURSOR HAND_CURSOR ICONIFIED MAXIMIZED_BOTH MAXIMIZED_HORIZ MAXIMIZED_VERT MOVE_CURSOR N_RESIZE_CURSOR NE_RESIZE_CURSOR NORMAL NW_RESIZE_CURSOR S_RESIZE_CURSOR SE_RESIZE_CURSOR SW_RESIZE_CURSOR TEXT_CURSOR W_RESIZE_CURSOR WAIT_CURSOR

descripción de búsqueda diccionario de terninos DIRECTORIOS dl docmd DoCmd.SetWarnings ECLIPSE EJECUTABLE ejercicio ejercicio polimorfismo ejercicios Encabezado ensureCapacity enumerados error errores propios Escayola escribir archivo texto. etiqueta etiquetas

Ejercicio 2 import import import public

javax.swing.*; java.awt.*; java.awt.event.*; class practica_frame6 { public static void main (String[] arg) { Marco_100 Marco_1 = new Marco_100(); Marco_100 Marco_2 = new Marco_100(); Marco_1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Marco_2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Marco_1.setVisible(true); Marco_2.setVisible(true); Marco_1.setBounds(100,300,400,300); Marco_2.setBounds(500,300,400,300); }

} class Marco_100 extends JFrame{ public Marco_100() { ModificaEstado cambio = new ModificaEstado(); Lamina1000 l1 = new Lamina1000(); add(l1); addWindowStateListener(cambio); setVisible(true); } } class Lamina1000 extends JPanel{ public void paintComponent(Graphics g) { super.paintComponent(g); JButton cerrar = new JButton("CERRAR"); JButton open = new JButton("open"); Font Arial = new Font("Arial",Font.BOLD,20); add(cerrar); add(open); setBackground(Color.blue);

eventos eventos de foco EVENTOS DE VENTAN eventos de ventana eventos raton eventos ratón exceel Excel Exists FICHEROS FileImputStream FileInputStrem FileOutputStrem FileOutpuutStream FileRead FileWrite finally FlowLayot foco .FocusListener foco ventana

}

g.setFont(Arial); g.setColor(Color.WHITE); g.drawString("texto 1", 100, 100);

FontSizeAction FontSizeAction(String

} class ModificaEstado implements WindowStateListener { public void windowStateChanged(WindowEvent e) { int tipoVentana = e.getNewState();//nos regresa un numero String [] estado = { "Ventana en estado DEFAULT_CURSOR", "Ventana en estado espera", "Ventana en estado Maximiza horizontal", "Ventana en estado Minimiza", "Ventana en estado SW_REDIMENSIONAR_CURSOR", "Ventana en estado SE_REDIMENSIONAR_CURSOR", "Ventana en estado S_REDIMENSIONAR_CURSOR", "Ventana en estado NORMAL", "Ventana en estado N_REDIMENSIONAR_CURSOR", "Ventana en estado W_REDIMENSIONAR_CURSOR", "Ventana en estado HAND_CURSOR", "Ventana en estado MOVE_CURSOR"}; JOptionPane.showMessageDialog(null,estado[tipoVentana ]); } }

FORMATO LETRA

Si nosotros necesitamos usar estos estados en un if seguramente no nos acordaremos de los números. Podemos hacer uso de Frame.Estado. Ejem class ModificaEstados implements WindowStateListener { public void windowStateChanged(WindowEvent e) { if(e.getNewState()== Frame.MAXIMIZED_BOTH) { JOptionPane.showMessageDialog(null,"mawimizada"); } if(e.getNewState()==Frame.NORMAL) { JOptionPane.showMessageDialog(null,"ventana normal"); }

gratis

formulas FRAME fuentes get GetAbsolutPath getActionCommand getComponent getComponentCount getItem() getNewState GETTER Y SETTER GRARTIS

GregorianCalender GridLayout h1 h2 h3 H4 HARINA hasnext

Eventos de teclado con interface KeyListner Un evento de teclado se desencadena cuando nuestro usuario ejerce sobre el teclado una determinada combinación de teclas. Cuando estáis en Works y tocáis Control+n el texto se pone en negrita, eso es un evento de teclado. Para programar eventos de teclado necesitaremos la interface KeyListner, esto nos obliga a programar tres métodos: ·

KeyPressed (KeyEvent e): Tecla presionada, se puede utilizar para combinaciones le podemos decir que si mantiene pulsada una tecla y después toca otra, os suena de algo esto (Ctrl+t , Ctrl+x, Ctrl+z…) pues si introducimos un if lo tenemos. .

·

KeyReleased (KeyEvent e): Tecla liberada, cuando soltamos la tecla.

·

KeyTyped (KeyEvent e): Clave mecanografiada, cuando hemos presionado la tecla y la hemos soltado. Si no queremos crear todos los métodos porque solo vamos a utilizar uno de ellos tenemos la clase adaptadora KeyAdapter. La case keyListener pasa por parámetros la clase KeyEvent por lo que tendremos a nuestra disposición todos los métodos de ella:

·

getKeyChar(): Nos regresa la tecla pulsada.

·

getKeyChar(): Nos regresa el código que representa para java la tecla pulsada Podemos crear la clase que implementa e implementar la interface KeyListener, hecho que nos obligará a crear los tres métodos. En el siguiente ejemplo java escribirá en la pantalla de inmediato de nuestro equipo cada tecla que nosotros vallamos pulsando. class EscuchaTeclado implements KeyListener{//oyente public void keyPressed(KeyEvent e) { int codice=e.getKeyChar(); System.out.print(e); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) {} } Y luego llamarla desde el constructor del frame: class Marco_1000 extends JFrame{ public Marco_1000() { EscuchaTeclado tecla = new EscuchaTeclado(); addKeyListener(tecla); ModificaEstados cambio = new ModificaEstados(); Lamina1000 l1 = new Lamina1000(); add(l1); addWindowStateListener(cambio); setVisible(true); }

hipervinculo dinámico htlm html html5 huella de programa hyperlink ICONO Iconos en menu if.java.bucle IMAGEN imagenes imágenes INCLUIR UN JTEXTBOX EN EL MENÚ inodoro InputEvent interface interface usuaario interfaZ IOException isDirectory ItalicAction ItalicAction() ItemEvent itemStateChanged Iterator JAR java java.ShowOptionDialog javaj JButton JCheckBox

}

JCheckBoxMenuItem

Eventos de ratón MouseListener

JComboBox

jframe

La interface MouseListener implementa 5 métodos, por lo que cuando la utilicemos tendremos que crearlos o utilizar una clase adaptadora que los tiene implementados, en nuestro caso sería MouseAdapter.

JMenu JMenuBar JMenueltem

Métodos de MouseListener: ·

mouseCliked (mouseEvent e): El usuario ya ha presionado y soltado el botón.

·

mousePreseed (mouseEvent e): El botón del ratón está siendo presionado

·

mouseReleased (mouseEvent e): El botón del ratón está regresando a su lugar después de haber sido presionado (el usuario retira el dedo del botón).

·

mouseEntered (mouseEvent e): Cuando el puntero del ratón entra en una zona determinada de la pantalla

·

mouseExited (mouseEvent e): Cuando el puntero del ratón sale en una zona determinada de la pantalla MousListener en sus métodos para por parámetros mousEvent por lo que tendremos a nuestra disposición los métodos de esta clase. Métodos MouseEvent:

jPanel JPopMenu JPopupMenu JRadioButon jRadioButton JRadioButtonMenuItem JSlider JSpinner JToolBar KeyEvent KeyListener

·

getX():posición X del ratón en pantalla en un momento determinado

·

getY():posición Y del ratón en pantalla en un momento determinado

·

gerModifiersEx(): nos indica si el usuario ha tocado el botón derecho, izquierdo o l rueda del ratón.

LAMINA

·

getClickCount(): Cuenta el número de clics que ha hecho el usuario.

laminas

Keywords

lanzar excepciones

1º. Creamos una clase que implementa la interface MouseListener class raton implements MouseListener {// oyente raton public void mouseClicked(MouseEvent e) { JOptionPane.showMessageDialog(null,"HAS HECHO CLICK CON EL RATON EN EL PUNTO X; "+e.getX()+ ", Y: "+e.getY()+ " de la lamina"); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} }

Layout Layout libre layout(null) LayoutManager lector leer archivos de texto LENGUAJE DE CONSULTAS ESTRUCTURADO leyenda list MARCO

2º. Ahora la cargamos en el constructor del frame.

class Marco_1000 extends JFrame{ public Marco_1000() { //eventos raton raton Perez = new raton(); addMouseListener(Perez); // eventos teclado EscuchaTeclado tecla = new EscuchaTeclado(); addKeyListener(tecla); // eventos de venta (para botones) ModificaEstados cambio = new ModificaEstados(); addWindowStateListener(cambio); //lamina del frame Lamina1000 l1 = new Lamina1000(); add(l1); setVisible(true); }

marcos math matrices o arrays matrices o arrays bidimiensionales menu MENU EMERGENTE meta description MÉTODO método constructo mkdir modificadores acceso montaje

Ejercicio: ahora probemos todos los métodos

MOSAICO

class raton implements MouseListener {// oyente raton public void mouseClicked(MouseEvent e) { System.out.println("HAS HECHO CLICK CON EL RATON EN EL PUNTO X; "+e.getX()+ ", Y: "+e.getY()+ " de la lamina"); System.out.println(e.getClickCount()); } public void mouseEntered(MouseEvent e) { System.out.println("x: " +e.getX()+ " Y:"+e.getY()); } public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) { String [] Qboton = new String[3]; Qboton[0]="BOTON DERECHO DEL RATON"; Qboton[1]="BONTON IZQUIERDO DEL RATON"; Qboton[2]="RUEDA DEL RATON";

mouse

if (e.getModifiersEx() == 4096) { System.out.println(Qboton[0]); } else if (e.getModifiersEx() == 1024) { System.out.println(Qboton[1]); } else if(e.getModifiersEx()==2048) { System.out.println(Qboton[2]); } }

MouseListener MouseMotionListener móvil MULTIFUENTE Múltiples fuentes para un solo oyente next Nociones básicas de Seo para blog NullPointerException NumberFormatException NÚMEROS FACTORIALES NÚMEROS PRIMOS ObjectInputStream objeto

El if anterior también lo podemos hacer así: class raton implements MouseListener {// oyente raton public void mouseClicked(MouseEvent e) { System.out.println("HAS HECHO CLICK CON EL RATON EN EL PUNTO X; "+e.getX()+ ", Y: "+e.getY()+ " de la lamina"); System.out.println(e.getClickCount()); } public void mouseEntered(MouseEvent e) { System.out.println("x: " +e.getX()+ " Y:"+e.getY()); } public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) { if (e.getModifiersEx() == MouseEvent.BUTTON2_DOWN_MASK ) { System.out.println("has `pulsado el boton izquierdo"); }else if (e.getModifiersEx() == MouseEvent.BUTTON1_DOWN_MASK) { System.out.println("has pulsado la rueda del raton"); }else if(e.getModifiersEx()==MouseEvent.BUTTON3_DOWN_MASK) { System.out.println("has pulsado el boton derecho"); } } public void mouseReleased(MouseEvent e) {}

objetos OCULTAR MENUS off page offimatica OFIMÁTICA on page operadores opinión palabra clave PAN PAN CASERO PAN DE MOLDE PANEL PANTALLA NEGRA

}

pantalla oscura

Eventos de ratón MouseMotionListener

PARÁMETRO DE TIPO pc

Controla si estamos moviendo o arrastrando el ratón implementaremos esta interface para controlarlos, se compone de dos métodos. ·

mouseDragged (MouseEvent e) : Se invoca cuando se desplaza el ratón con el botón pulsado

·

mouseMoved (MouseEvent e) : Se invoca cuando movemos el ratón sin pulsar el botón.

pdf PEGAR POLIMORFISMO poo practica procesador Texto

Creamos la clase: class raton2 implements MouseMotionListener{

PROCESADOR DE TEXTOS CON JAVA

public void mouseDragged(MouseEvent e) { System.out.println("desplazas el ratón con el botón pulsado"); }

PROCESADOR DE TEXTOS CON JAVA 2

public void mouseMoved(MouseEvent e) { System.out.println("desplazas el ratón sin pulsar el botón"); }

programación

Ahora la cargamos en el frame: class Marco_1000 extends JFrame{ public Marco_1000() { //eventos raton raton Perez = new raton(); addMouseListener(Perez); //eventos desplazamiento raton raton2 desplazaRaton = new raton2(); addMouseMotionListener(desplazaRaton); // eventos teclado EscuchaTeclado tecla = new EscuchaTeclado(); addKeyListener(tecla); // eventos de venta (para botones) ModificaEstados cambio = new ModificaEstados(); addWindowStateListener(cambio); //lamina del frame Lamina1000 l1 = new Lamina1000(); add(l1); setVisible(true); }

Podemos implementar todas las interfaces en una sola clase, así será más rápido y limpio, evitando cargar clase por clase, todas irán en una única. class ModificaEstados implements WindowStateListener,KeyListener,MouseListener,MouseMotionListener{ public public public public public public public public public public public

void void void void void void void void void void void

mouseDragged(MouseEvent e) {….} mouseMoved(MouseEvent e) {……} mouseClicked(MouseEvent e) {……..} mouseEntered(MouseEvent e) {………} mouseExited(MouseEvent e) {……….} mousePressed(MouseEvent e) {……….} mouseReleased(MouseEvent e) {……….} keyPressed(KeyEvent e) {………..} keyReleased(KeyEvent e) {……….} keyTyped(KeyEvent e) {……..} windowStateChanged(WindowEvent arg0){……..}

procesador textos

PROGRAMACIÓN GENÉRICA r ratón read read() readLine() readObject RECETA recodset REDIMENSIONAR UNA FOTO REDUCIR CODIGO CON MÉTODO CONSTRUCTOR refundación de Objetos. casting. java retrete seo Seo para blog Serializable serializar serialVersionUID Seroalizado set setLayout (null) SHA showConfirmDialog showImputDialog

}

showInputDialog

Eventos de foco en componentes FocusListener

showMessageDialog showOptionDialog size slip

Un evento de foco es aquel que se desemboca cuando tenemos seleccionado un determinado espacio de la interface, podemos tener un botón seleccionado, un marco, un archivo. Supongo que alguna vez habéis rellenado un formulario en una web, cuando cambias de casilla estas poniendo el foco en la siguiente casilla. En este caso vamos a ver cómo hacerlo dentro de un componente. Para ello u lizaremos la interface FocusListener, por lo que estaremos obligados a implementar 2 métodos: ·

focusGained (FocusEvent e): el elemento adquiere el foco.

·

focusLost (FocusEvent e): el elemento pierde el foco.

SpringLayout SQL Squl STATIC/FINAL Stream string StyledEditorKit SUB CLASE

En caso de no desear implementar los dos disponemos de la clase adaptadora FocusAdapter. 0. Necesitaremos dos tex iled , las variables se declaran dentro de la lámina porque serán internas y de uso interno solo en la lamina class A_lamina extends JPanel{ public void paintComponent(Graphics g){//constructor super.paintComponent(g);

setBackground(Color.DARK_GRAY); setLayout(null); //establecer diseño por defecto no cuadro1=new JTextField(); cuadro2=new JTextField(); cuadro1.setBounds(100,50,150,20); cuadro2.setBounds(100,90,150,20); add(cuadro1); add(cuadro2); }

JTextField cuadro1,cuadro2; } 1.

Ahora generamos una clase interna con el oyente y ponemos y ponemos el cuadro una como

desencadenante. class A_lamina extends JPanel{ public void paintComponent(Graphics g){//constructor super.paintComponent(g); setBackground(Color.DARK_GRAY); setLayout(null); //establecer diseño por defecto no cuadro1=new JTextField(); cuadro2=new JTextField(); cuadro1.setBounds(100,50,150,20); cuadro2.setBounds(100,90,150,20); add(cuadro1); add(cuadro2); cuadro1.addFocusListener(new escucha()); } JTextField cuadro1,cuadro2; private Image foto; private class escucha implements FocusListener{ public void focusGained(FocusEvent e) {System.out.println("estas dentro del cuadro 1");} public void focusLost(FocusEvent e) {System.out.println("estas fuera del cuadro 1");} } } En la siguiente práctica realizaremos un marco al que le introduciremos una lámina con una foto de fondo y en la que pondremos dos cuadros de texto. Para posteriormente generar los eventos de foco, ratón, teclado import import import import import import public

javax.imageio.ImageIO; javax.swing.*; java.awt.*; java.awt.event.*; java.io.File; java.io.IOException; class Practica_JText { public static void main (String[] arg) { A_marco1 cuadro = new A_marco1(); cuadro.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class A_marco1 extends JFrame{ public A_marco1() { setVisible(true); setBounds(150, 150, 500, 300); add(new A_lamina()); addWindowListener(new escucha2()); addWindowStateListener(new escucha2()); addKeyListener(new escucha2()); addMouseListener(new escucha2()); } } class A_lamina extends JPanel{ public void paintComponent(Graphics g){//constructor super.paintComponent(g); try { //tratamineto de excepciones, haz esto y si no catch foto = ImageIO.read(new File("C:\\Users\\dagip\\Desktop\\BOGEER\\imagenes\\JAVA2.jpg"));//ruta relativa } catch(IOException e) { JOptionPane.showConfirmDialog(null, "no esta la foto"); } //escribimos la foto en nuestra lamina g.drawImage(foto, 0, 0, null); setBackground(Color.DARK_GRAY);

subtitulo switch tabla tablet teclado texto texto de titulo Texto del alt throw throws tipos comodín tipos de datos TIPOS DE VARIABLES toma pared ToString(). trabajo administrativo. programadores web tratamiento de imágenes tratamiento errores trimToSize try TXTAREA ul UnderlineAction unir layouts URLMalformedException usos de access y excel usos del final VABA váter vba VENTANA ventanas emergentes vida laboral viga vocabulario w.c water wc while WindiowListener Write write.java

setLayout(null); //establecer diseño por defecto no cuadro1=new JTextField(); cuadro2=new JTextField(); cuadro1.setBounds(100,50,150,20); cuadro2.setBounds(100,90,150,20); add(cuadro1); add(cuadro2); cuadro1.addFocusListener(new escucha()); } JTextField cuadro1,cuadro2; private Image foto; private class escucha implements FocusListener{ public void focusGained(FocusEvent e) {

System.out.println("estas dentro del cuadro 1"); }

public void focusLost(FocusEvent e) {S ystem.out.println("estas fuera del cuadro 1"); } } } class escucha2 implements WindowListener,WindowStateListener,MouseListener,ActionListener,KeyListener{ public public public public public public public public public public public public public public public public public

void void void void void void void void void void void void void void void void void

windowStateChanged(WindowEvent e) {} windowActivated(WindowEvent e) {} windowClosed(WindowEvent e) {} windowClosing(WindowEvent e) {} windowDeactivated(WindowEvent e) {} windowDeiconified(WindowEvent e) {} windowIconified(WindowEvent e) {} windowOpened(WindowEvent e) {} keyPressed(KeyEvent e) {} keyReleased(KeyEvent e) {} keyTyped(KeyEvent e) {} actionPerformed(ActionEvent e) {} mouseClicked(MouseEvent e) {} mouseEntered(MouseEvent e) {} mouseExited(MouseEvent e) {} mousePressed(MouseEvent e) {} mouseReleased(MouseEvent e) {}

}

Ejercicio 2. Ahora generamos otro marco con dos botones y dos cuadros de texto, y cuando el usuario cambie el foco de un cuadro de texto al otro nos confirmará si el correo es correcto. import import import import import import public

java.awt.*; java.awt.event.FocusEvent; java.awt.event.FocusListener; java.io.*; javax.imageio.ImageIO; javax.swing.*; class Practica27_text { public static void main (String[] arg) { //cargar el frame Marco_1111 x =new Marco_1111(); x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

} class Marco_1111 extends JFrame{ public Marco_1111() { setVisible(true); setBounds(150,150,800,390); add(new Lamina_1111()); } } class Lamina_1111 extends JPanel{ public void paintComponent(Graphics g) { super.paintComponent(g); //cargar los botones en el frame JButton Boton1=new JButton ("cerrar"); JButton Boton2=new JButton ("Abrir"); add(Boton1); add(Boton2); Boton1.setBackground(Color.GREEN); Boton1.setBounds(600, 20, 80, 30); Boton2.setBackground(Color.GREEN); Boton2.setBounds(600, 55, 80, 30); // colgar imagen, para lo que necesitamos un tratamiento de excepciones try { Foto1=ImageIO.read(new File("C:\\Users\\dagip\\Desktop\\BOGEER\\imagenes\\JAVA2.jpg")); } catch (IOException e) { JOptionPane.showConfirmDialog(null, "la foto no esta en la ruta"); } g.drawImage(Foto1,0,0,null); c_t1= new JTextField(); c_t2= new JTextField(); c_t1.setBounds(50,50,250,40); c_t2.setBounds(50,100,250,40); add(c_t1); add(c_t2); c_t1.addFocusListener(new EventosDEfoco()); } JTextField c_t1,c_t2; Image Foto1; private class EventosDEfoco implements FocusListener{

Communicate Like A Team Grammarly Business

Set Your Team Up For Successful Communication. Get Grammarly Business.

LEARN MORE

public void focusGained(FocusEvent e) {} public void focusLost(FocusEvent e) { //para capturar el texto del cuadro getText() String Correo = c_t1.getText(); boolean validador_arroba = false; boolean validador_punto = false; //ahora vamos a comprobar si el correo introducido es correcto for (int i=0;i