“Año del Buen Servicio al Ciudadano”
![](https://upa.edu.pe/wp-content/uploads/2016/03/logo_upa_160218.jpg)
CICLO : III
CURSO: PROGRAMACIÓN
PROFESOR: MARCO AURELIO PORRO CHULLI
CLASE SWING
1. DEFINICIÓN
El paquete Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. La JFC provee facilidades para ayudar a la gente a construir GUIs. Swing abarca componentes como botones, tablas, marcos, etc...
Las componentes Swing se identifican porque pertenecen al paquete javax.swing.
Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos. Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J").
Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el modelo de eventos AWT, el cual rige cómo una componente reacciona a eventos tales como, eventos de teclado, mouse, etc... Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*.
Ojo: Como regla, los programas no deben usar componenetes pesados de AWT junto a componentes Swing, ya que los componentes de AWT son siempre pintados sobre los de Swing. (Por componentes pesadas de AWT se entiende Menu, ScrollPane y todas las componentes que heredan de las clases Canvas y Panel de AWT).
2. CONTROLES SWING BÁSICOS: JLABEL, JTEXTFIELD Y JBUTTON.
Las ventanas de control JFrame contienen un contenedor y
dentro de este, debemos agregarle un panel de contenido donde incluiremos todos
los controles que vayamos a usar. Para ello, utilizaremos su método
"getContentPane()". Es decir, antes de incluir cualquier control,
estos necesitaran estar incluidos dentro del panel.
Ademas de ello, también podemos incluir un gestor de
organización llamados Layout para la distribución de los controles. En nuestro
caso, lo que haremos sera anular este gestor, de esta forma, tendremos libre la
distribución de los controles.
Una vez incluido el panel y anulado el gestor de
organización, ya podemos incluir nuestros controles y uno de ellos va a ser
JLabel.
- JLabelEste control, es una simple etiqueta donde pondremos texto fijo.Para añadir un control, ademas de importar su paquete, debemos paser tres fases. Primero, instanciar el control, segundo colocarlo en una ubicación y tercero añadirlo al panel con el método "add()". Quedaría asi:JLabel etiqueta = new JLabel("Aqui ira el texto");etiqueta.setBounds(10,25,120,20);this.getContentPane.add(etiqueta);Por tanto, imaginemos que queremos crear una ventana de ancha 300 y alto 200 y queremos incluir en su interior un simple texto. El código quedaría así:import javax.swing.JFrame;import javax.swing.JLabel;public class Ventana extends JFrame{public Ventana(){this("Mi primera ventana",10,10,300,200);}public Ventana(String titulo, int x, int y, int w, int h){super(titulo);this.getContentPane().setLayout(null); // Dentro del panel, le digo que anulo el Layoutthis.setDefaultCloseOperation(this.EXIT_ON_CLOSE);this.setBounds(x,y,w,h);this.setVisible(true);JLabel lblTexto = new JLabel("Esto es una etiqueta de texto");lblTexto.setBounds(10,25,120,20); // Situo la etiqueta en el lugar que yo quierathis.getContentPane().add(lblTexto);}public static void main(String[]args){}}Ejecuta el programa y veras la etiqueta de texto dentro de la ventana.Intenta ejecutarlo eliminando el código "this.getContentPane().setLayout(null);" a ver que ocurre. No podrás situar la etiqueta de texto donde tu quieras.
- JTextField
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Ventana extends JFrame{
public Ventana(){
this("Mi primera
ventana",10,10,300,200);
}
public Ventana(String titulo, int x, int y,
int w, int h){
super(titulo);
this.getContentPane().setLayout(null); //
Dentro del panel, le digo que anulo el Layout
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBounds(x,y,w,h);
this.setVisible(true);
JLabel lblTexto = new
JLabel("Esto es una etiqueta de texto");
lblTexto.setBounds(10,25,120,20); // Situo la etiqueta en el
lugar que yo quiera
this.getContentPane().add(lblTexto);
JTextField cmpNombre = new
JTextField();
cmpNombre.setBounds(10,50,100,20);
this.getContentPane().add(cmpNombre);
}
public static void main(String[]args){
}
}
Prueba a ejecutarlo ahora, veras que dispones de un campo de
texto donde puedes escribir cualquier cosa. Cuando creas la instancia de este
control, puedes dejar un texto predeterminado:
TextField cmpNombre = new JTextField("Escribe tu
nombre");
3. JButton
Este es el control de los famosos botones, con ellos
podremos programar las acciones que creamos pertinentes para ellos. Como lo
mismo con los otros controles su código es el siguiente:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Ventana extends JFrame{
public Ventana(){
this("Mi primera
ventana",10,10,300,200);
}
public Ventana(String titulo, int x, int y,
int w, int h){
super(titulo);
this.getContentPane().setLayout(null); //
Dentro del panel, le digo que anulo el Layout
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBounds(x,y,w,h);
this.setVisible(true);
JLabel lblTexto = new
JLabel("Esto es una etiqueta de texto");
lblTexto.setBounds(10,25,120,20); // Situo la etiqueta en el
lugar que yo quiera
this.getContentPane().add(lblTexto);
JTextField cmpNombre = new
JTextField();
cmpNombre.setBounds(10,50,100,20);
this.getContentPane().add(cmpNombre);
JButton btnCopiar = new
JButton("Copiar");
btnCopiar.setBounds(25,80,100,20);
this.getContentPane().add(btnCopiar);
}
public static void main(String[]args){
}
}}
5. resumen
Usualmente, Para Toda Componente AWT Existe Una oscilación del Componente Que la reemplaza, por Ejemplo, la clase Button de AWT es reemplazada por la clase JButton de oscilación (el nombre de Todas las Componentes oscilación Comienza con "J").
Las Componentes de oscilación utilizan la infraestructura de AWT, incluyendo the example de eventos AWT, el cual sea Rige Como Una Componente Reacciona a eventos cuentos de Como, eventos de teclado, ratón, etc ... Es Por Esto, Que la Mayoría de los Programas oscilación Importar necesitan dos Paquetes AWT:. java.awt. * y * java.awt.event.
Ojo: Como regla, los Programas sin Deben USAR Pesados componenetes de AWT Junto a Componentes Swing, ya Que los Componentes de AWT hijo siempre pintados Sobre los de oscilación.
Las Ventanas de control de JFrame contienen ONU contenedor y Dentro de este, DEBEMOS agregarle panel de la ONU de contenido Donde incluiremos todos los Controles Que Vayamos un USAR. In Nuestro a Caso, Lo Qué haremos sueros anulares ESTE Gestor, of this forma, tendremos Libre La Distribucion De los Controles.
Una vez incluido el panel de anulado y el gestor de Organización, Ya Podemos Incluir Nuestros Controles y Uno de Ellos Va A Ser JLabel.
Una vez incluido el panel de anulado y el gestor de Organización, Ya Podemos Incluir Nuestros Controles y Uno de Ellos Va A Ser JLabel.
6.summary
Usually, for every AWT component there is an oscillation of
the component that replaces it, for example, the AWT Button class is replaced
by the oscillation JButton class (the name of all oscillation components begins
with "J").
Swing Components use the AWT infrastructure, including the
AWT event example, which is Rige As A Component Reacts to events such as
events, keyboard events, mouse, etc ... It is by this, that most of the Import
Swing Programs Need Two AWT Packages. Java.awt. * And * java.awt.event.
Eye: As a rule, Programs should NOT use heavy components of
AWT along with Swing Components, since the components of AWT son always painted
over oscillation.
The JFrame control windows contain UN container and within
this, we MUST add UN content panel where we will include all the controls that
we will use. In our case, what we will do annular sera THIS MANAGER, of this
form, we will have Free Distribution of the Controls.
Once you have included the override panel and the
Organization manager, We can already include our controls and one of them is
going to be JLabel.
7. RECOMENDACIONES
Solucionar los sproblemas mediante la logica utlizando corectamente dichos elementos de la clase SWING
Apoyate organizandote tus actividades
identifica las posibles respuestas a la solucion del problema
8.Biliografia
http://programandojava.webnode.es/products/a35-los-controles-basicos/https://users.dcc.uchile.cl/~lmateu/CC60H/Trabajos/edavis/swing.html
http://www.w3ii.com/es/swing/swing_event_handling.html
INTEGRANTES:
TIMOTEO CUEVA HUAMAN
DENILSON FLORES RAMIREZ
MARIO JHOSEP FLORES SUAREZ
Plantear debidamente al menos 3 CONCLUSIONES y RECOMENDACIONES.Defina al menos 10 términos en su GLOSARIO. Agregar VIDEOS e IMÁGENES sobre el TEMA. Gracias por su investigación. Saludos
ResponderBorrar