PDF de programación - Tema 5-1 - Conceptos básicos de SWING - Desarrollo de interfaces gráficas de usuario - Programación Orientada a Objetos

Imágen de pdf Tema 5-1 - Conceptos básicos de SWING - Desarrollo de interfaces gráficas de usuario - Programación Orientada a Objetos

Tema 5-1 - Conceptos básicos de SWING - Desarrollo de interfaces gráficas de usuario - Programación Orientada a Objetosgráfica de visualizaciones

Publicado el 6 de Enero del 2019
1.249 visualizaciones desde el 6 de Enero del 2019
301,5 KB
15 paginas
Creado hace 14a (13/04/2010)
Programación

Orientada a Objetos

Tema 5:
Tema 5:

Desarrollo de interfaces gráficas

de usuario

Tema 5-1: Conceptos básicos de SWING

Contenidos



Tema 5-1: Conceptos básicos de SWING

INTRODUCCIÓN

1.
2. COMPONENTES Y CONTENEDORES
3. EVENTOS
4. SWING
4. SWING
5. COMPONENTES BÁSICOS
6. CONTENEDORES
7.
8. EJEMPLO APLICACIÓN

LAYOUTS

2

INTRODUCCIÓN

• Cuando se desarrolla un sistema informático, no solo se
espera que funcione bien y que se adapte a la funcionalidad que
el usuario requería, sino que la forma en que éste interactúa con
el sistema sea lo más sencilla y cómoda posible.

• Para lograr este objetivo, buena parte del desarrollo del sistema
se centra en la construcción de la interfaz de usuario que es la
parte del programa que permite a éste interactuar con el usuario.
parte del programa que permite a éste interactuar con el usuario.

• Los lenguajes de programación usados hoy en día utilizan la
programación orientada a objetos a la hora de diseñar y
programar una interfaz gráfica de usuario.

• Los componentes de la interfaz (botones, listas, barras de menú,
cajas de texto, etc.) se consideran objetos que permiten ser
manejados a través de sus métodos.

3

COMPONENTES Y CONTENEDORES

• Los Contenedores contienen Componentes, que son los

controles básicos.

• Si no se usan posiciones fijas de los Componentes, éstos
se sitúan a través de una disposición controlada (layouts)
en el Contenedor.

• Podemos controlar eventos de todo tipo acercándonos

incluso al teclado o al ratón.
incluso al teclado o al ratón.

• Hay que tratar de separar lo más posible la interfaz gráfica

de la lógica de negocio.

• En Java existen dos bibliotecas de clases para realizar

aplicaciones gráficas:
– AWT (más antigua).
– Swing.

4

COMPONENTES Y CONTENEDORES

• Los Componentes son una serie de elementos gráficos básicos, por
ejemplo: botones, etiquetas, listas, casillas de verificación, campos de
texto o barras de desplazamiento.

• En AWT y Swing, todos los Componentes de la interface de usuario son

instancias de la clase Component o uno de sus subtipos.

• Estos Componentes no se encuentran aislados, sino que deben
agruparse dentro de Contenedores. En AWT y Swing,
todos los
Contenedores son instancias de la clase Container o uno de sus
Contenedores son instancias de la clase Container o uno de sus
subtipos.

5

EVENTOS

• Los eventos dependen del tipo de componente que los generen, pero
no hay un único tipo de evento para cada componente, sino que estos
son compartidos por muchos tipos de componentes.

• Cada tipo de evento tiene asociado un oyente (listener) y cada oyente
requiere de un manipulador (handler) dotado de uno o más métodos
que serán completados con nuestro código.

• Ejemplo:

EVENTO

OYENTE

MÉTODO

COMPONENTES

ActionEvent

ActionListener

actionPerformed

JButton
JComboBox
JMenuItem
JTextField

6

SWING



Las clases que ofrece el API Swing nos permite desarrollar interfaces gráficas
de usuario mucho más potentes y aparentes que con el AWT, debido a la
cantidad y calidad de los controles gráficos que ofrece.

• El API Swing pertenece a las JFC (Java Foundation Classes), es decir un
conjunto de APIs que proporcionan al programador una serie de herramientas
para el desarrollo de interfaces gráficas de usuario, estas herramientas son las
siguientes:

– Los componentes Swing.
– Look & Feel (Windows, Motif, Macintosh, Java o Metal).
– Look & Feel (Windows, Motif, Macintosh, Java o Metal).
– Accesibilidad.
– Java 2D.
– Drag and Drop.



La clase javax.swing.JComponent es la clase base de la jerarquía de
componentes Swing, es una subclase de la clase java.awt.Container y por lo
tanto es a la vez un componente y un contenedor en el sentido del AWT.

java.awt.Component

java.awt.Container

javax.swing.JComponent

7

COMPONENTES BÁSICOS

• Etiquetas:

– Las etiquetas en Swing se implementan con la clase JLabel,
permiten la incorporación de iconos y la alineación.

JLabel etiq1 = new JLabel(); etiq1.setText( "Etiqueta1" );
JLabel etiq2 = new JLabel( "Etiqueta2" );
etiq2.setFont( new Font( "Helvetica", Font.BOLD, 18 ) );
Icon imagen = new ImageIcon( "javalogo.gif" );
JLabel etiq3 = new JLabel( "Etiqueta3", imagen, SwingConstants.CENTER );
JLabel etiq3 = new JLabel( "Etiqueta3", imagen, SwingConstants.CENTER );
etiq3.setVerticalTextPosition( SwingConstants.TOP );
JLabel etiq4 = new JLabel( "Etiqueta4",SwingConstants.RIGHT );

8

COMPONENTES BÁSICOS

• Botones de Pulsación:

– Los botones se construyen con la clase JButton. Pueden tener una
etiqueta y también pueden contener un icono o ambas cosas.
– Los eventos que producen son del tipo ActionEvent y se tratan
implementando la interfaz ActionListener dentro del método
actionPerformed().
– Para que un botón produzca eventos debemos indicarlo mediante el
método addActionListener().

Icon icono1 = new ImageIcon( "pto-roj.gif" );
JButton boton1 = new JButton("Uno",icono1);
boton1.addActionListener(this);

9

COMPONENTES BÁSICOS

• Campos de Texto y Áreas de Texto :

–Para implementar áreas de texto mediante Swing se utiliza la clase
JTextArea.
– Los campos de texto se implementan mediante la clase JTextField. Para
poner un campo de password tenemos que hacer uso de la clase
JPasswordField.

JTextField textField = new JTextField();
JPasswordField textPasw = new JPasswordField(10);
textPasw.setEchoChar('*');
textPasw.setEchoChar('*');

– Para capturar el contenido de una caja de texto se utiliza el método
getText() y para escribir, el método setText(cadena).

10

COMPONENTES BÁSICOS

• Listas Desplegables:

– Las listas desplegables se deben crear mediante la clase JComboBox.

– Para crearlas utilizamos su constructor pasándole como argumento las
distintas opciones que contendrá mediante un array de cadenas.

– Produce eventos de tipo ActionEvent y el tratamiento es igual que el de los
botones (ActionListener, addActionListener(), actionPerformed()).
botones (ActionListener, addActionListener(), actionPerformed()).

– Se pueden incorporar más opciones a la lista (en ejecución), para ello
tenemos que hacer uso del método setEditable(true).

String[] datos_marcas =

{"Citroen","Fiat","Ford","Opel","Peugeot","Renault","Seat"};

JComboBox marcas = new JComboBox(datos_marcas);
marcas.setEditable(true);
marcas.addActionListener(this);

11

COMPONENTES BÁSICOS

• Listas:

– Utilizamos objetos de tipo JList y les pasamos como argumento las distintas opciones
que contendrá. Debemos seleccionar el modo de selección que le vamos a aplicar
mediante el método setSelectionMode(selectionMode). Los distintos modos de selección
son los siguientes:

• SINGLE_SELECTION
• SINGLE_INTERVAL_SELECTION
• MULTIPLE_INTERVAL_SELECTION

– Los eventos que producen son del tipo ListSelectionEvent y se tratan implementando
– Los eventos que producen son del tipo ListSelectionEvent y se tratan implementando
la interfaz ListSelectionListener dentro del método valueChanged().
– Para que una lista produzca eventos debemos indicarlo mediante el método
addListSelectionListener().
– Para proporcionar scroll automáticamente a una lista hay que asociarla a un
JScrollPane.
String[] datos_equipo = {"ABS","Aire Ac.","Air-bag",

"Dir. Asistida","EE","Pintura Met.","Radio"};

JList equipo = new JList(datos_equipo);
equipo.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
JScrollPane scrollPane = new JScrollPane(equipo);
equipo.addListSelectionListener(this);

12

COMPONENTES BÁSICOS

• Casillas de verificación:

– Para construir casillas de verificación se utiliza la clase JCheckBox.
– El constructor más completo permite poner un texto, un icono y si se trata de una
opción que se quiera tener seleccionada ponerla a true. Por ejemplo:

Icon icono = new ImageIcon("icono.gif");
JCheckBox cboton1 = new JCheckBox("opción 1", icono, true);
cboton1.addItemListener(this);

– Los eventos que producen son del tipo ItemEvent y se tratan implementando la
– Los eventos que producen son del tipo ItemEvent y se tratan implementando la
interfaz ItemListener dentro del método itemStateChanged().
– Para que una casilla de verificación produzca eventos debemos indicarlo mediante
el método addItemListener().

13

COMPONENTES BÁSICOS

• Botones de Radio:

– Los botones de radio o de comprobación se implementan a través de
la clase JRadioButton que al igual que los JCheckBox nos permiten
agregar iconos en las distintas opciones.

– Una peculiaridad de este tipo de botones es la necesidad de
agruparlos de forma que siempre haya un único botón activo. Para
realizarlo tan solo tenemos que crear un objeto de tipo ButtonGroup y
realizarlo tan solo tenemos que crear un objeto de tipo ButtonGroup y
agregarle cada una de las opciones que tengamos.

– El tratamiento de los eventos es el mismo que el de los botones.

JRadioButton rboton1 = new JRadioButton(“opción 1");
rboton1.addActionListener(this);
JRadioButton rboton2 = new JRadioButton(“opción 2");
rboton2.addActionListener(this);
ButtonGroup grouporb = new ButtonGroup();
grouporb.add(rboton1);
grouporb.add(rboton2);

14

COMPONENTES BÁSICOS

• Ayuda Emergente:

– En Swing se puede asignar a los componentes gráficos una ayuda
emergente de forma que cuando el usuario pase el
ratón por el
componente se le presente un texto indicativo de lo que puede hacer con
ese componente.

– Para realizarlo utilizamos el método setToolTipText(“texto ayuda”).
JTextField textField = new JTextField();
textField.setToolTipText("Escribe un texto y pulsa Añade");
textField.setToolTipText("Escribe un texto y pulsa Añade");

15

CONTENEDORES



Los componentes deben situarse en un contenedor, Swing proporciona diversos
contenedores como:
– JWindow: Es una superficie de pantalla de alto nivel (una ventana). Una instancia de
esta clase no tiene ni título ni borde. Contiene métodos generales para el manejo de
ventanas.

– JFrame: Un JFrame o marco es una ventana con borde y título. Una instancia de

esta clase puede tener una barra de menú.

– JDialog: Es una ventana con borde y título
  • Links de descarga
http://lwp-l.com/pdf14777

Comentarios de: Tema 5-1 - Conceptos básicos de SWING - Desarrollo de interfaces gráficas de usuario - Programación Orientada a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad