Want to create interactive content? It’s easy in Genially!
componentes visuales y no visuales
Gaby2227
Created on September 25, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Modern Presentation
View
Terrazzo Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
View
City Presentation
View
News Presentation
Transcript
componentes visuales y no visuales de Java en IntelliJ IDEA.
wow
Topicos avanzados de Programacion Catedratico:cesar Ivan Alvarez Alvores hecho por:Gabriela Berenice Gomez Santiz S4A
necesitas hacer interfaces gráficas(sino por que estas aqui :´´)
¡Vamos!
Todo comienza con una ventana
wow
aqui esta su majestad,es un JFrame en pocas palabras,es u antigusimo MAC OS.
JFrame es el objeto que representa una ventana en la pantalla. Es donde colocas todas las cosas de la interfaz, como botones, casillas de verificación, campos de texto, etc. Puede tener una barra de menú con elementos de menú. Y tiene todos los pequeños iconos de ventana de la plataforma en la que estés, para minimizar, maximizar y cerrar la ventana.
¡Vamos!
Poner widgets en la ventana
si copias el codigo veras un boton pero no ocurre algo interesante
Una vez que tengas un JFrame, puedes poner cosas ("widgets") en él añadiéndolas al JFrame. Hay un montón de componentes Swing que puedes añadir; búscalos en el paquete javax.swing. Los más comunes son JButton, JRadioButton, JCheckBox, JLabel, JList, JScrollPane, JSlider, JTextArea, JTextField y JTable. La mayoría son muy sencillos de utilizar, pero algunos (como JTable) pueden ser un poco más complicados.
Obtener un evento de usuario
En Java, el proceso de obtener y manejar un evento de usuario se llama manejo de eventos. Hay muchos tipos de eventos diferentes en Java, aunque la mayoría tienen que ver con acciones del usuario de la interfaz gráfica de usuario. Si el usuario hace clic en un botón, eso es un evento. Un evento que dice "El usuario quiere que se produzca la acción de este botón". Si es un botón "Ralentizar el tempo", el usuario quiere que se produzca la acción de ralentizar el tempo de la música. Si es un botón "Enviar" en un cliente de chat, el usuario quiere que se produzca la acción "enviar-mi-mensaje". Así que el evento más directo es cuando el usuario hace clic en el botón, indicando que quiere que se produzca una acción. Con los botones, normalmente no te importan los eventos intermedios como el botón-está-presionado y el botón-está-suelto. Lo que quieres decirle al botón es: "No me importa cómo juega el usuario con el botón, cuánto tiempo mantiene el ratón sobre él, cuántas veces cambia de opinión y se aleja antes de soltarlo, etc. ¡Sólo dime cuándo el usuario va en serio! En otras palabras, ¡no me llames a menos que el usuario haga clic de forma que indique que quiere que el mendigo botón haga lo que dice que va a hacer!"
Imagina que quieres que el texto del botón cambie de "hazme clic" a "me han hecho clic" cuando el usuario pulse el botón. Primero podemos escribir un método que cambie el texto del botón (un vistazo rápido a la API te mostrará el método):
Algunas interfaces tienen más de un método porque el propio evento tiene diferentes sabores. Si implementas MouseListener, por ejemplo, puedes obtener eventos para mousePressed, mouseReleased, mouseMoved, etc. Cada uno de esos eventos de ratón tiene un método distinto en la interfaz, aunque todos tomen un MouseEvent. Si implementas MouseListener, se llama al método mousePressed() cuando el usuario (lo has adivinado) pulsa el ratón. Y cuando el usuario lo suelta, se llama al método mouseReleased(). Así que para los eventos del ratón, sólo hay un objeto de evento, MouseEvent, pero varios métodos de evento diferentes, que representan los distintos tipos de eventos del ratón.
Con los botones, normalmente no te importan los eventos intermedios como el botón-está-presionado y el botón-está-suelto. Lo que quieres decirle al botón es: "No me importa cómo juega el usuario con el botón, cuánto tiempo mantiene el ratón sobre él, cuántas veces cambia de opinión y se aleja antes de soltarlo, etc. ¡Sólo dime cuándo el usuario va en serio! En otras palabras, ¡no me llames a menos que el usuario haga clic de forma que indique que quiere que el mendigo botón haga lo que dice que va a hacer!"
En primer lugar, el botón tiene que saber que nos importa. Tu código: "Oye botón, me importa lo que te pase". Objeto de botón: "¡El usuario ha hecho clic en mí!"
Una fuente de eventos (como un botón) crea un objeto de evento cuando el usuario hace algo importante (como hacer clic en el botón). La mayor parte del código que escribas recibirá eventos en lugar de crearlos. En otras palabras, pasarás la mayor parte de tu tiempo como oyente de eventos en lugar de como fuente de eventos.
Oyentes, Fuentes, y Eventos
El oyente (Listener) Si tu clase quiere conocer los ActionEvents de un botón, implementa la interfaz ActionListener. El botón necesita saber que te interesa, así que te registras en él llamando a su addActionListener(this) y pasándole una referencia a ActionListener. En nuestro primer ejemplo, tú eres el ActionListener, por lo que le pasas "esto" (this), pero es más habitual crear una clase específica que se encargue de escuchar los eventos. El botón necesita una forma de llamarte cuando se produzca el evento, así que llama al método de la interfaz del oyente. Como ActionListener, debes implementar el único método de la interfaz, actionPerformed(). El compilador lo garantiza. La fuente de evento (Event Source) Un botón es una fuente de ActionEvents, por lo que tiene que saber qué objetos son oyentes interesados. El botón tiene un método addActionListener() para dar a los objetos interesados (oyentes) una forma de decirle al botón que están interesados. Cuando se ejecuta el método addActionListener() del botón (porque un oyente potencial lo ha invocado), el botón toma el parámetro (una referencia al objeto listener) y lo almacena en una lista. Cuando el usuario hace clic en el botón, éste "dispara" el evento llamando al método actionPerformed() en cada oyente de la lista Cómo se comunican el oyente (listener) y la fuente (source): "Botón, por favor, añádeme a tu lista de oyentes y llama a mi método actionPerformed() cuando el usuario haga clic en ti". ----> button.addActionListener(this) ---> "Ok, eres un ActionListener, así que sé cómo llamarte cuando hay un evento: llamaré al método actionPerformed() que sé que tienes". <---- actionPerformed(el_evento) <-----
EVENTOS Para hacer una GUI, empieza con una ventana, normalmente un JFrame: JFrame frame = new JFrame(); Puedes añadir widgets (botones, campos de texto, etc.) al JFrame utilizando: frame.getContentPane().add(button); A diferencia de la mayoría de los otros componentes, el JFrame no te permite añadirlo directamente, por lo que debes añadirlo al panel de contenido (a.k.a content pane) del JFrame. Para que la ventana (JFrame) se muestre, debes darle un tamaño y decirle que sea visible: frame.setSize(450,350); frame.setVisible(true);
Widgets y Eventos
A Widgets Métodos de eventos check box windowClosing() text field actionPerformed() scrolling list itemStateChanged() button mousePressed() dialog box keyTyped() radio button mouseExited() menu item focusGained()
Swing es fácil. A menos que te importe realmente dónde acaban las cosas en la pantalla. El código Swing parece fácil, pero luego lo compilas, lo ejecutas, lo miras y piensas: "oye, eso no debe ir ahí 🤨". Lo que hace que el código sea fácil es lo que hace que sea difícil de controlar: el Gestor de Diseño .
a.k.a Layout Manager-
Datos relevantes
Componentes Swing Componentees el término más correcto para lo que hemos llamado widget. Las "cosas" que se ponen en una interfaz gráfica de usuario. Las cosas que un usuario ve y con las que interactúa. Los campos de texto, los botones, las listas desplazables, los botones de radio, etc., son todos componentes. De hecho, todos ellos extienden javax.swing.JComponent.
Los componentes se pueden anidar En Swing, prácticamente todos los componentes son capaces de contener otros componentes. En otras palabras, puedes meter casi cualquier cosa dentro de cualquier otra. Pero la mayoría de las veces, añadirás componentes interactivos con el usuario, como botones y listas, dentro de componentes de fondo (que comunmente conocemos como contenedores), como frames y paneles. Aunque es posible poner, por ejemplo, un panel dentro de un botón, eso es bastante raro y no te hará ganar ningún premio de usabilidad. Sin embargo, a excepción del JFrame, la distinción entre componentes interactivos y componentes de fondo es ficticia. Un JPanel, por ejemplo, suele utilizarse como fondo para agrupar otros componentes, pero incluso un JPanel puede ser interactivo. Al igual que con otros componentes, puedes registrarte para los eventos del JPanel, incluidos los clics del ratón y las pulsaciones de las teclas.
cuatro pasos para crear una interfaz gráfica de usuario
Crea una ventana (un JFrame) JFrame frame = new JFrame(); Crea un componente (botón, campo de texto, etc.) JButton button = new JButton("Haz clic en mí"); Añade el componente al frame frame.getContentPane().add(BorderLayout.EAST, button); Muestralo (dale un tamaño y hazlo visible) frame.setSize(300,300); frame.setVisible(true);
Layout Managers / Gestores de Diseño
Un gestor de diseño es un objeto Java asociado a un componente concreto, casi siempre un componente de fondo. El gestor de diseño controla los componentes contenidos en el componente al que está asociado el gestor de diseño. En otras palabras, si un frame contiene un panel y el panel contiene un botón, el gestor de diseño del panel controla el tamaño y la ubicación del botón, mientras que el gestor de diseño del frame controla el tamaño y la ubicación del panel. El botón, en cambio, no necesita un gestor de diseño porque el botón no contiene otros componentes.
Los distintos gestores de diseño tienen diferentes políticas para organizar los componentes (como, por ejemplo, organizarlos en una cuadrícula, hacerlos todos del mismo tamaño, agruparlos verticalmente, etc.), pero los componentes que se disponen tienen al menos un poco de voz en el asunto.
Conclusiones
pensar que todo esto inicia gracias a una ventana de dialogo,talvez pensemos que las interfacez graficas no sea muy sencillas que digamos... y estamos en lo cierto si bien es algo complejo de conocer y aprender la realidad es que uchas veces este tipo de eventos,gestores y metodos nos an ayudado a mejorar nuestra vida en general siendo java el principal interprete en todo esto dando como resultado una optimisacion la hora de reslizar dichas actividades ,es por eso que no solo son importantes de aprender sino tambien de comprender y valorar.
- Genially
¡Recuerda publicar!
Super!
We love data