Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Moreno”
Grupo: 10
1.-Antecedentes
2. Componentes y contenedores
2.1. Componentes
Todos los componentes de Swing están representados por clases definidas dentro
del paquete javax.swing. La siguiente tabla muestra los nombres de clase para los
componentes Swing (incluidos los utilizados como contenedores):
Todas las clases de componentes comienzan con la letra J. Por ejemplo, la clase
para una etiqueta es JLabel, la clase para un botón es JButton y la clase para para
una casilla de verificación es JCheckBox
2.2. Contenedores
Swing define dos tipos de contenedores. Los primeros son contenedores de nivel
superior: JFrame, JApplet, JWindow y JDialog. (JApplet, que admite applets
basados en Swing, ha sido descartado por JDK 9.) Estos contenedores no heredan
JComponent. Sin embargo, heredan las clases AWT Component y Container. A
diferencia de otros componentes de Swing, que son lightweight, los contenedores
de nivel superior son heavyweight. Esto hace que los contenedores de nivel superior
sean un caso especial en la biblioteca de componentes Swing.
El glass pane es el panel de nivel superior. Se encuentra arriba y cubre por completo
todos los demás paneles. El glass pane le permite administrar los eventos del
mouse que afectan a todo el contenedor (en lugar de a un control individual) o, por
ejemplo, pintar sobre cualquier otro componente. En la mayoría de los casos, no
necesitará usar el glass pane directamente.
El layered pane permite que los componentes tengan un valor de profundidad. Este
valor determina qué componente se superpone a otro. (Por lo tanto, el layered pane
le permite especificar un orden Z para un componente, aunque esto no es algo que
normalmente deba hacer). El layered pane contiene el content pane y la barra de
menú (opcional).
Antes de comenzar a escribir un programa Swing, hay una cosa más que debe
tener en cuenta: administrador de disposición/esquemas/diseño. El administrador
de disposición controla la posición de los componentes dentro de un contenedor.
Java ofrece varios administradores de disposición. La mayoría son provistas por
AWT (dentro de java.awt), pero Swing agrega algunas propias. Todos los
administradores de disposición son instancias de una clase que implementa la
interfaz LayoutManager. (Algunos también implementarán la interfaz
LayoutManager2.) Aquí hay una lista de algunos de los administradores de
disposición disponibles para el programador Swing:
3.-Descripción de la Interfaz Gráfica, explicar las razones del uso de
componentes y la relación entre ellos.
C:\Users\Albert\Documents\NetBeansProjects\defensa\src\defensa\VisorImagen.java
1 /*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7 package defensa;
8
9
10 import javax.swing.*;
11 import java.awt.event.*;
12
13 public class VisorImagen {
14 //declarando los componentes a utilizar
15 JFrame formulario;
16 JButton anterior;
17 JButton siguiente;
18 JLabel titulo;
19 JLabel label;
20 ImageIcon imagen;
21 // Cargamos la ruta de las imagenes en un vector
22 String v[]={"/img/ohm.jpg","/img/osadia.jpg","/img/zentro.png","/img/jaque.jpg"};
23
24 //indice del vector
25 int i=0;
26
27 public void mostrarFormulario(){
28 formulario= new JFrame();
29 formulario.setSize(600, 400);
30 //Centramos el formulario
31 formulario.setLocationRelativeTo(null);
32 //Cuando cerramos el formulario la app se detiene
33 formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
34 //
35 formulario.setLayout(null);
36 // construimos los componente y le damos el tamaño y posicion
37 titulo=new JLabel("Visor de Imagen");
38 titulo.setBounds(230, 10, 200, 50);
39
40 anterior= new JButton("anterior");
41 anterior.setBounds(10, 200, 100, 25);
42
43 siguiente= new JButton("siguiente");
44 siguiente.setBounds(450, 200, 120, 25);
45
46 //carga por defecto la primera imagen
47 label=new JLabel(new ImageIcon(getClass().getResource(v[i])));
48 label.setBounds(180, 60, 200, 300);
49
50 // adicionando los componentes al formulario
51 formulario.add(titulo);
52 formulario.add(anterior);
53 formulario.add(label);
54 formulario.add(siguiente);
55
56 formulario.setVisible(true);
57
58 //Evento para los botones
59 anterior.addActionListener(new Onclic());
60 siguiente.addActionListener(new Onclic());
61 }
62
63 // creamos una clase para el funcionamiento de los botones
64 class Onclic implements ActionListener{
65 @Override
66 public void actionPerformed(ActionEvent e) {
67 if (e.getSource()==anterior) {
68 if (i>=1) {
69 i--;
70 }
71 }else{
72 if (e.getSource()==siguiente) {
73 if (i<v.length-1) {
74 i++;
75 }
76 }
77 }
78 label.setIcon(new ImageIcon(getClass().getResource(v[i])));
79
80 }
81 }
82
83
84 public static void main(String[] args) {
85 // TODO code application logic here
86 VisorImagen def= new VisorImagen();
87 def.mostrarFormulario();
88
89 }
90
91 }
92
JPanel
JFrame Alto nivel de complejidad
JDialog
ImagenIcon
JButton
Medio nivel de complejidad
JTextfield
JLabel
6.- Conclusiones.
Trabajar con Swing facilita la creación de interfaces graficas de usuario,es muy
necesario porque es base para saber interfaces graficas de múltiples formularios
7.-Bibliografía.
http://codejavu.blogspot.com/2013/08/que-es-java-swing.html
http://www3.uji.es/~belfern/Docencia/Presentaciones/ProgramacionAvanzada/Tem
a3/swing.html#20
https://javadesdecero.es/avanzado/introduccion-a-swing/
Tutoriales Programacion Ya. (5 de Noviembre de 2015). Tutoriales Programacion
Ya. Obtenido de
https://www.tutorialesprogramacionya.com/javaya/detalleconcepto.php?codi
go=103&punto=&inicio=20