Está en la página 1de 36

Swing

Java Swing 1

Entorno gráfico
Tanto AWT como Swing proporciona
componentes básicos de GUI para utilizarlos,
tanto en los applets como en las aplicaciones.
Existen superclases que se pueden extender y
sus propiedades se pueden heredar; las clases
pueden ser abstractas. Proporciona
componentes básicos de GUI para utilizarlos,
tanto en los applets como en las aplicaciones.
Existen superclases que se pueden extender y
sus propiedades se pueden heredar; las clases
pueden ser abstractas.

Java Swing 2
JFrame
setSize

setCursor JFrame setTitle

setVisible

Java Swing 3

Ejercicio 1: Frame de AWT

Java Swing 4
Ejercicio 2: JFrame de Swing

Java Swing 5

ContentPane
JFrame

Content
Pane

Añadir
componentes

Java Swing 6
Hola Mundo
import javax.swing.*;
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame frame = new JFrame("HelloWorldSwing");
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
frame.setVisible(true); }
}}

Java Swing 7

Ejercicio 3: JFrame con VE

Java Swing 8
Ejercicio 3: JFrame con VE

Java Swing 9

Ejercicio 3: JFrame con VE


Modificar el ‘Title’:
-Seleccionar this-”Jframe”
-Botón derecho\Set Title

Java Swing 10
Ejercicio 3: JFrame con VE
Tratar de arrastrar un JButton al jContentPane y
observar el Layout por defecto (BorderLayout)
que nos coloca las componentes en el
contenedor

Java Swing 11

Ejercicio 3: JFrame con VE


Quitar layout

Java Swing 12
Ejercicio 3: JFrame con VE
Anadir componentes (Jlabel, Jbutton...)
arrastrándolos desde la paleta de VE al
ContentPane

Java Swing 13

Ejercicio 3: JFrame con VE


Anadir texto al JLabel y JButton

Java Swing 14
Ejercicio 3: JFrame con VE
Modificar properties del JLabel

Java Swing 15

Ejercicio 3: JFrame con VE


Modificar properties del JButton

Java Swing 16
Ejercicio 3: JFrame con VE
Modificar properties del ContentPane

Java Swing 17

Ejercicio 3: JFrame con VE


Añadir método Main para que también se pueda
ejecutar como aplicación, además de cómo Bean

Java Swing 18
Containers
En un contenedor se pueden añadir componentes
Object

Component Graphics
getGraphics()

Container

Panel Window

Applet Frame Dialog

JApplet JFrame JDialog JWindow

getContentPane()
yourApplet yourFrame yourDialog yourWindow
Java Swing 19

Jerarquía
Object

Component
java.awt
Container

javax.swing
Box JComponent

JAbstractButton JList JPanel JTextComponent JLabel

JButton JMenuItem JTextField JTextArea

Java Swing 20
Dialogs
Para mostrar o recibir mensajes del usuario, se
pueden usar ventanas de Diálogo.

Java Swing 21

Dialogs
La clase JOptionPane tiene vários método estáticos
para ello.

Java Swing 22
Ejercicio 3: Dialogs
La clase JOptionPane tiene vários método estáticos

Java Swing 23

Panel
Una GUI normalmente añade varios paneles al
contentpane, para diferentes usos, como mostrar
datos, gráficos, interactuar con el usuario...
Cada panel puede tener diferentes layouts, y
contener otros componentes y contenedores.

Java Swing 24
Buttons

Java Swing 25

Combo box

Java Swing 26
List

Java Swing 27

Menu

Java Swing 28
Ejercicio 3: Menú
Un JFrame tiene dos componentes básicas: El
contentPane y el menuBar.
-Añadir un MenuBar al Jframe
-Añadir Menus al MenuBar
-Añadir MenuItems al los Menús

Java Swing 29

Ejercicio 3: Menú
Nota:
Suele ser
cómodo añadir
menús
arrastrándalos
a JavaBeans

Java Swing 30
Slider

Java Swing 31

Spinner

Java Swing 32
FileChooser

Java Swing 33

Eventos

Event

Source Listener

Java Swing 34
Eventos
java.util

EventObject
java.awt.event

ActionEvent ContainerEvent

AdjustmentEvent FocusEvent
java.awt
KeyEvent
AWTEvent ComponentEvent InputEvent

MouseEvent

ItemEvent PaintEvent

TextEvent WindowEvent

Java Swing 35

Interface Listener
Listener Interface Event Listener Methods

ActionListener ActionEvent actionPerformed()

AdjustmentListener AdjustmentEvent adjustmentValueChanged()

componentHidden()
componentMoved()
ComponentListener ComponentEvent
componentResized()
componentShown()

componentAdded()
ContainerListener ContainerEvent
componentRemoved()

focusGained()
FocusListener FocusEvent
focusLost()

Java Swing 36
Interface Listener
Listener Interface Event Listener Methods

keyPressed()
KeyListener KeyEvent keyReleased()
keyTyped()

mouseClicked()
mouseEntered()
MouseListener MouseEvent mouseExited()
mousePressed()
mouseReleased()

mouseDragged()
MouseMotionListener MouseEvent
mouseMoved()

Java Swing 37

Interface Listener
Listener Interface Event Listener Methods

TextListener TextEvent textValueChanged()

ItemListener ItemEvent itemStateChanged()

windowActivated()
windowClosed()
windowClosing()
WindowListener WindowEvent windowDeactivated()
windowDeiconified()
windowIconified()
windowOpened()

Java Swing 38
Ejercicio 3: Añadir
ActionPerformed al JButton

Java Swing 39

Ejercicio 3: Añadir
ActionPerformed al JButton

Java Swing 40
Ejercicio 3: Añadir
ActionPerformed a MenuItems

Java Swing 41

Ejercicio 3: Añadir
ActionPerformed a MenuItems

Java Swing 42
Ejercicio 4: Examinar ejemplos

Java Swing 43

Ejercicio 4

Java Swing 44
Ejercicio 4

Java Swing 45

Ejercicio 4

Java Swing 46
Ejercicio 4

Java Swing 47

Ejercicio 4

Java Swing 48
Ejercicio 4

Java Swing 49

Ejercicio 4

Java Swing 50
Ejercicio 4

Java Swing 51

Ejercicio 4

Java Swing 52
Ejercicio 5: Pila de Enteros
Realizar una GUI (Graphical user Interface) para
implementar una pila de enteros, utilizando
javax.swing.*
java.awt.events.* para la interface ActionListener
java.util.* para la clase Stack
java.io.* para cargar/salvar en Fichero

Java Swing 53

Ejercicio 5: Crear clase


PilaConStack. Métodos
Opciones:
-Tener Stack p
-Ser Stack
-Tener int[]
int cont

Java Swing 54
Ejercicio 5: Mirar clase Stack
en documentación de Java
http://download.oracle.com/javase/6/docs/api/

Java Swing 55

Ejercicio 5: Mirar clase Stack


en documentación de Java

Java Swing 56
Ejercicio 5: Crear clase
PilaConStack con un Stack

Java Swing 57

Ejercicio 5: Crear clase


PilaConStack. Carga/Salva a File

Java Swing 58
Ejercicio 5: Carga/Salva
serializable

Java Swing 59

Ejercicio 5: Pila Swing


Crear un JFrame Visual Class PilaSwing con
Visual Editor, y añadir Beans

Java Swing 60
Ejercicio 5: Pila Swing. Añadir
PilaConStack y muestraPila()
muestraPila() debe
-mostrar el contador de la pila en el jTextField
-mostrar la PilaConStack p en el jTextArea

Java Swing 61

Ejercicio 5: Pila Swing. Eventos


actionPerformed del botón Apilar

Java Swing 62
Ejercicio 5: Pila Swing. Eventos
actionPerformed del botón DesApilar y Vaciar

Java Swing 63

Ejercicio 5: Pila Swing. Menús


Añadir MenuBar, Menus y MenuItems

Java Swing 64
Ejercicio 5: Pila Swing.
Eventos de MenuItems
En MenuItem cargar, instanciar un JFileChooser

Java Swing 65

Ejercicio 6: GUI para Banco


Creae una interface gráfica de usuario para el
Banco de ejercicios anteriores.

Java Swing 66
Ejercicio 6: GUI para Banco
Ejemplo de GUI principal de BancoSwing y de Gui
para el formulario de Crear Cuenta Corriente

Java Swing 67

Ejercicio 6: GUI para Banco


Ejemplo de GUI principal de BancoSwing y de Gui
para el formulario de Crear Cuenta Corriente

Java Swing 68
Ejercicio 6: GUI para Banco
Ejemplo de GUI de otros formularios

Java Swing 69

Ejercicio 6: GUI para Banco


En el BancoSwing creado con VE, se deben
añadir los distintos formularios

Java Swing 70
Ejercicio 6: GUI para Banco
Los eventos de los botones de BancoSwing
instancian los formularios (JFrames), que tienen
un atributo JFrame ‘papa’ que queda apuntando
al objeto princial de BancoSwing, para poder
acceder a su objeto Banco y modificarlo

Java Swing 71

Ejercicio 6: GUI para Banco


Añadir eventos a los MenuItems
Ejemplo de MenuItem ‘Salvar’, que instancia un
JFileChooser para sereccional el fichero donde
salvar el banco

Java Swing 72

También podría gustarte