SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Curso Java Desde Cero
Nivel I – Módulo IV Gestión de Excepciones
Y Componentes GUI parte I
Agosto 2021
El éxito se alcanza con la constancia
Excepciones
try-catch
finally / throw
GUI: JFrame / JPanel / JLabel / JButton
GUI: JTextField / JMenu
GUI: JToolBar / JRadioButton / JComboBox
Contenido
MóduloV
01
02
03
04
05
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
06
En Java, una excepción es un evento que interrumpe el flujo normal del programa. Es un objeto que se produce
en tiempo de ejecución.
Excepciones
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Gestión de Excepciones
Control de excepciones es un
mecanismo para controlar errores en
tiempo de ejecución como
ClassNotFoundException, IOException,
SQLException, RemoteException, etc.
Excepción comprobada
Las clases que heredan directamente la clase Throwable excepto RuntimeException y Error se conocen como
excepciones comprobadas, por ejemplo, IOException, SQLException, etc. Las excepciones comprobadas se
comprueban en tiempo de compilación.
Excepción no verificada
Las clases que heredan RuntimeException se conocen como excepciones no controladas, por ejemplo,
ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, etc. Las excepciones no marcadas
no se comprueban en tiempo de compilación, pero se comprueban en tiempo de ejecución.
Error
El error es irrecuperable, por ejemplo, OutOfMemoryError, VirtualMachineError, AssertionError, etc.
Excepciones
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
try-catch
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
El bloque try se utiliza para incluir el código que
podría producir una excepción.
Si se produce una excepción en la instrucción, el
resto del código de bloque no se ejecutará.
Debe ir seguido de catch o finally block.
El bloque catch se utiliza para controlar la
excepción declarando el tipo de excepción en el
parámetro. La excepción declarada debe ser la
excepción de clase primaria o el tipo de excepción
generado.
Debe utilizarse solo después del bloque try. Puede
utilizar varios bloques catch con un único bloque
try.
Ejemplos:
try-catch
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
public class TryCatchEjemplo
{
public static void main(String[] args)
{
int dato=50/0;
System.out.println(“Codigo");
}
}
public class TryCatchCaptura
{
public static void main(String[] args)
{
try
{
int dato=50/0;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
System.out.println(“Codigo");
}
}
try captura la excepción
catch lanza la excepción
Ejemplos:
public class TryCatchArray
{
public static void main(String[] args)
{
try
{
int arr[]= {1,3,5,7};
System.out.println(arr[10]); //Posible excepción
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println(e);
}
System.out.println(“Código");
}
}
try-catch
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Se declara un array de
enteros con 4 elementos
catch lanza la excepción, en este
caso, error de índice del array
Se intenta acceder a un
elemento que no existe en
array
Ejemplos:
import java.io.File;
import java.io.PrintWriter;
public class Prueba
{
public static void main(String[] args)
{
File fl1 = new File("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = null;
try
{
printWriter = new PrintWriter(fl1);
printWriter.println(“Hola");
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
try-catch
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Se captura y se lanza la
excepción sino se encuentra el
archivo declarado como fl1
El bloque finally se utiliza para ejecutar código importante como el cierre de conexión, cierre de archivos, etc.
Siempre se ejecuta independientemente de si se gestiona la excepción o no. Siempre debe seguir al bloque try o
catch.
finally / throw
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Programa Excepción
Excepción
Gestionada
Ejecutar
Bloque finally
No
Si
Si
No
Código de
gestión
El bloque finally, ejemplos:
finally / throw
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
class PFinally1
{
public static void main(String args[])
{
try
{
int data=25/5;
System.out.println(data);
}
catch(NullPointerException e)
{
System.out.println(e);
}
finally
{
System.out.println(“finally siempre se ejecuta");
}
System.out.println(“resto del código...");
}
}
class PFinally2
{
public static void main(String args[])
{
try
{
int data=25/0;
System.out.println(data);
}
catch(NullPointerException e)
{
System.out.println(e);
}
finally
{
System.out.println("finally siempre se ejecuta");
}
System.out.println(“Resto del código...");
}
}
throw, se utiliza para producir explícitamente una excepción. Podemos lanzar una excepción comprobada o no.
Se utiliza para producir una excepción personalizada.
finally / throw
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
public class PThrow
{
static void valida(int edad)
{
if(edad<18)
throw new ArithmeticException(“Edad no valida");
else
System.out.println(“Bienvenido");
}
public static void main(String args[])
{
valida(13);
System.out.println(“resto del código...");
}
}
Envía la excepción si se
cumple la condición
La clase javax.swing.JFrame es un tipo de contenedor que funciona como la ventana principal donde se agregan
componentes como etiquetas, botones, campos de texto para crear un aplicación GUI.
Constructores:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Constructor Descripción
JFrame() Construye un nuevo marco que es inicialmente invisible.
JFrame(GraphicsConfiguration gc) Crea un Frame en el GraphicsConfiguration especificado de un
dispositivo de pantalla y un título en blanco.
JFrame(String title) Crea un nuevo Frame inicialmente invisible con el título
especificado.
JFrame(String title, GraphicsConfiguration gc) Crea un JFrame con el título especificado y el
GraphicsConfiguration especificado de un dispositivo de
pantalla.
Métodos:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Método Descripción
addImpl(Component comp, Object
constraints, int index)
Agrega el componente secundario especificado.
createRootPane() Llamado por los métodos constructores para crear el valor predeterminado
rootPane.
frameInit() Llamado por los constructores para iniciar el JFrame correctamente.
setContentPane(Containe contentPane) Establece la propiedad contentPane
setDefaultLookAndFeelDecorated(boole
an defaultLookAndFeelDecorated)
Proporciona una pista sobre si los JFrames recién creados para tener las
decoraciones de ventana (como bordes, widgets para cerrar la ventana, título...)
proporcionados por el aspecto actual.
setIconImage(Image image) Establece la imagen que se mostrará como el icono de esta ventana.
setJMenuBar(JMenuBar menubar) Establece la barra de menús para este marco.
Métodos:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Método Descripción
add() Permite agregar un objeto al Frame
setLocationRelativeTo() Establece la posición de la ventana en la pantalla.
setsize(x, y) Define la dimensión de la ventana.
setDefaultCloseOperation() Permite definir la operación de cierre de la Ventana.
setVisible() Establece si la ventana será visible cuando inicia el programa
setLayeredPane(JLayeredPane
layeredPane)
Establece la propiedad layeredPane.
getRootPane() Devuelve el objeto rootPane para este marco.
getTransferHandler() Obtiene la propiedad transferHandler.
setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se especifica
setLayout como null
setLayout() Permitir establecer la posición de los objetos en el frame.
JPanel es una clase contenedora más simple. Proporciona espacio en el que una aplicación puede adjuntar
cualquier otro componente. Posee los siguientes métodos:
JLabel: componente utilizado para desplegar texto o imágenes en el contenedor.
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Método Descripción
add() Permite agregar un objeto al JPanel.
remove() Elimina un objeto del JPanel.
setLayout() Permitir establecer la posición de los objetos en el panel.
setVisible() Establece si el panel será visible cuando inicia el programa.
setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se especifica setLayout como null.
setBackground() Permite definir el color de fondo del componente.
Método Descripción
getText() Retorna el texto contenido en el objeto Jlabel
setText() Agrega texto al objeto Jlabel
setVisible() Establece si el objeto JLabel estará visible
Jbutton se utiliza para crear un botón etiquetado. Cuando se presiona, permite realizar alguna acción en la
aplicación. Posee los siguientes métodos:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Métodos Descripción
setText() Se utiliza para establecer el texto especificado en el botón
getText() Se utiliza para devolver el texto del botón.
setEnabled() Se utiliza para activar o desactivar el botón.
setIcon() Se utiliza para establecer el icono especificado en el botón.
getIcon() Se utiliza para obtener el icono del botón.
setMnemonic() Se utiliza para ajustar el mnemotécnico en el botón.
addActionListener() Se utiliza para agregar el agente de escucha de acción a este objeto.
setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se
especifica setLayout como null.
setBackground() Permite definir el color de fondo del componente.
Ejemplo:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Jpanel;
public class JFrameApp {
public static void main(String s[]) {
JFrame frame = new JFrame(“Ejemplo JFrame");
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel label = new JLabel("JFrame ");
JButton button = new JButton();
button.setText(“Boton");
panel.add(label);
panel.add(button);
frame.add(panel);
frame.setSize(200, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Se importan las clases necesarias
Se crea el objeto de tipo JFrame
Se crea el objeto de tipo JPanel
Establece la posición de los objetos en
ventana o contenedor
Crea una objeto de tipo JLabel
Crea una objeto de tipo Jbutton
y establece el nombre
Adiciona los objetos al contenedor JPanel
Adiciona el contenedor al JFrame
Establece las propiedades del JFrame
Ejemplo:
GUI: JFrame / JPanel / JLabel / JButton
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
import java.awt.*;
import javax.swing.*;
public class PanelEjemplo {
PanelEjemplo()
{
JFrame f= new JFrame(“Ejemplo de Panel");
JPanel panel=new JPanel();
panel.setBounds(40,80,200,200);
panel.setBackground(Color.gray);
JButton b1=new JButton("Boton 1");
b1.setBounds(50,100,80,30); b1.setBackground(Color.yellow);
JButton b2=new JButton(“Boton 2");
b2.setBounds(100,100,80,30); b2.setBackground(Color.green);
panel.add(b1); panel.add(b2);
f.add(panel); f.setSize(400,400); f.setLayout(null); f.setVisible(true);
}
public static void main(String args[])
{
new PanelEjemplo();
}
}
Se importan las clases necesarias
Se crea el objeto de tipo JFrame
Se crea el objeto de tipo JPanel
Se definen las propiedades del objeto
panel
Se crea el objeto de tipo JButton
Se definen las propiedades del objeto
boton
Se adicionan los botones al panel
Se adiciona el panel al frame y se
definen las propiedades del frame
Llamado al método que presenta el
GUI
La clase JTextField es un componente de texto que permite la edición de un texto de una sola línea.
GUI: JTextField / JMenu
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
Métodos Descripción
void addActionListener(ActionListener l) Se usa para agregar el agente de escucha de acción especificado
para recibir eventos de acción de este campo de texto.
Action getAction() Devuelve la acción establecida actualmente para este origen
ActionEvent, o null si no se establece ninguna acción.
void setFont(Font f) Se utiliza para establecer la fuente actual.
void removeActionListener(ActionListener l) Se utiliza para quitar el agente de escucha de acción especificado
para que ya no reciba eventos de acción de este campo de texto.
getText() Retorna el texto contenido en el objeto
setText() Agrega texto al objeto
setVisible() Establece si el objeto estará visible
setEditable() Se utiliza para definir si un JTextField será editable
Ejemplo:
GUI: JTextField / JMenu
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
import java.awt.event.*;
import javax.swing.*;
public class EjemploBoton
{
public static void main(String[] args)
{
JFrame f=new JFrame(“Ejemplo Boton");
final JTextField tf=new JTextField();
tf.setBounds(50,50, 150,20);
JButton b=new JButton(“Presiona Aquí");
b.setBounds(50,100,95,30);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tf.setText(“Hola Bienvenido.");
}
});
f.add(b);f.add(tf);
f.setSize(400,400); f.setLayout(null); f.setVisible(true);
}
}
Se importa la clase event que permite definir los
eventos a ejecutarse cuando se presiona un botón
Se establece la acción a ejecutarse cuando se
presiona el botón
Se crea el objeto de tipo JTextField y establece
sus propiedads
En Java podemos crear menús en la pantalla gráfica utilizando sus componentes como son:
GUI: Menús en Java
| Copyright © 2020 Ing. Giovanny Guillén Bustamante
Componentes para
Menús en Java
JMenubar
JMenu
JMenuItem
JCheckBoxMenuItem
JRadioButtonMenuItem
JPopupMenu
JMenuBar, es la barra donde se incluyen
los componentes JMenu y las opciones
como JMenuItem.
Jmenu, es la opción que aparece sobre
JMenuBar y haciendo click sobre esta, se
despliega una caja que contiene los items
del menú.
JMenuItem, es cada uno de los items que
se despliegan desde el Jmenu.
JCheckBoxMenuItem, representa un
checkbox que puede ser incluido como
opción de menu.
JRadioButtonMenuItem, representa una
opción de menu como un radio button.
Ejemplo:
GUI: Menús en Java
| Copyright © 2020 Ing. Giovanny Guillén Bustamante
import javax.swing.*;
class MenuExample
{
JMenu menu, submenu; JMenuItem i1, i2, i3, i4, i5;
MenuExample()
{
JFrame f= new JFrame("Menu y MenuItem Ejemplo");
JMenuBar mb=new JMenuBar(); menu=new JMenu("Menu");
submenu=new JMenu("Sub Menu");
i1=new JMenuItem("Item 1"); i2=new JMenuItem("Item 2");
i3=new JMenuItem("Item 3"); i4=new JMenuItem("Item 4");
i5=new JMenuItem("Item 5");
menu.add(i1); menu.add(i2); menu.add(i3);
submenu.add(i4); submenu.add(i5);
menu.add(submenu); mb.add(menu);
f.setJMenuBar(mb); f.setSize(400,400); f.setLayout(null);
f.setVisible(true);
}
public static void main(String args[])
{
new MenuExample();
}
}
En este ejemplo declaramos la barra de menú, el contenedor
de menú y las opciones al menú y submenú. Los principales
métodos son:
add(): Adiciona un item al menú
setEnable(): Activa o inactiva el menú o la opción
setIcon(): Agrega una imagen de icono al menú u opción
setMnemonic(): Permite definir una juego de teclas para
acceder al menú u opción
GUI: JToolBar / JRadioButton / JComboBox
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
JToolBar contenedor que permite agrupar otros componentes, generalmente botones con iconos en una fila o columna
como en una barra de herramientas.
public class JToolBarE {
public static void main(final String args[]) {
JFrame myframe = new JFrame("JToolBar Ejemplo");
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JtoolBar toolbar = new JToolBar();
toolbar.setRollover(true);
JButton button = new JButton(“Archivo");
toolbar.add(button);
toolbar.addSeparator();
toolbar.add(new JButton("Editar"));
toolbar.add(new JComboBox(new String[] { "Opc-1", "Opc-2", "Opc-3", "Opc-4" }));
Container contentPane = myframe.getContentPane();
contentPane.add(toolbar, BorderLayout.NORTH);
JTextArea textArea = new JTextArea();
JScrollPane mypane = new JScrollPane(textArea);
contentPane.add(mypane, BorderLayout.EAST);
myframe.setSize(450, 250);
myframe.setVisible(true);
}
}
Este ejemplo utiliza las clases:
java.awt.BorderLayout,
java.awt.Container,
javax.swing.Jbutton,
javax.swing.JComboBox,
javax.swing.Jframe.
javax.swing.JScrollPane,
javax.swing.JTextArea,
javax.swing.JToolBar
Y se deben impotar
GUI: JToolBar / JRadioButton / JComboBox
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
JRadioButton: se utiliza para crear un botón de opción para elegir una opción de varias opciones.
Métodos comúnes.
Métodos Descripción
void setText(String s) Se utiliza para establecer un texto especifico en el botón.
String getText() Se utiliza para devolver el texto del botón.
void setEnabled(boolean b) Se utiliza para habilitar o deshabilitar el botón.
void setIcon(Icon b) Se utiliza para establecer un icono especifico en el botón.
Icono getIcon() Se utiliza para obtener el icono del botón.
void setMnemonic(int a) Se utiliza para establecer la tecla de acceso en el botón.
void addActionListener(ActionListener a) Se utiliza para agregar el agente de escucha de acción a este objeto.
GUI: JToolBar / JRadioButton / JComboBox
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
JRadioButton Ejemplo.
import javax.swing.*;
public class RadioButtonExample {
JFrame f;
RadioButtonExample(){
f=new JFrame();
JRadioButton r1=new JRadioButton(“M - Masculino");
JRadioButton r2=new JRadioButton(“F - Femenino");
r1.setBounds(75,50,100,30);
r2.setBounds(75,100,100,30);
ButtonGroup bg=new ButtonGroup();
bg.add(r1);bg.add(r2);
f.add(r1);f.add(r2);
f.setSize(300,300);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String[] args) {
new RadioButtonExample();
}
}
GUI: JToolBar / JRadioButton / JComboBox
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
JComboBox: se utiliza para mostrar el menú emergente de opciones. La opción seleccionada por el usuario se muestra en la
parte superior de un menú.
Métodos comúnes.
Métodos Descripción
void addItem(Object anObject) Se utiliza para agregar un elemento a la lista de elementos.
void removeItem(Object anObject) Se utiliza para eliminar un elemento de la lista.
void removeAllItems() Se utiliza para quitar todos los elementos de la lista.
void setEditable(boolean b) Se utiliza para determinar si el JComboBox es editable.
void addActionListener(ActionListener a) Se utiliza para agregar el ActionListener o método que
gestionará las acciones del control
void addItemListener(ItemListener i) Se utiliza para agregar ItemListener o método que gestionará
las acciones del item.
GUI: JToolBar / JRadioButton / JComboBox
| Copyright © 2021 Ing. Giovanny Guillén Bustamante
JComboBox Ejemplo.
import javax.swing.*;
public class ComboBoxExample {
JFrame f;
ComboBoxExample(){
f=new JFrame("ComboBox Example");
String country[]={"Venezuela","Australia","U.S.A",“Inglaterra","Canada"};
JComboBox cb=new JComboBox(country);
cb.setBounds(50, 50,90,20);
f.add(cb);
f.setLayout(null);
f.setSize(400,500);
f.setVisible(true);
}
public static void main(String[] args) {
new ComboBoxExample();
}
}
Fin del módulo II:
Seguidamente el instructor le indicará para realizar las prácticas del módulo.
“La autosuperación es solo el
primer paso hacia la
sabiduría.”
Prácticas
| Copyright © 2021 Ing. Giovanny Guillén Bustamante

Más contenido relacionado

La actualidad más candente

Curva de daño de un transformador c++
Curva de daño de un transformador c++Curva de daño de un transformador c++
Curva de daño de un transformador c++Marco Jiménez
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodosLao Tobon
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Robert Wolf
 
Matematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMatematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMaxicar
 
Presentacion de antiderivadas
Presentacion de antiderivadasPresentacion de antiderivadas
Presentacion de antiderivadaslaura narro
 
Integrales infefinidas
Integrales infefinidasIntegrales infefinidas
Integrales infefinidasGlenda Freire
 
Integral Indefinida
Integral IndefinidaIntegral Indefinida
Integral IndefinidaAndy Silva
 
Organizador grafico sobre las ondas
Organizador grafico sobre las ondasOrganizador grafico sobre las ondas
Organizador grafico sobre las ondasclarachipantiza
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestroFrancisco Lambert Obediente
 
Programación Modular
Programación ModularProgramación Modular
Programación Modularguestefc95b
 

La actualidad más candente (20)

11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
Curva de daño de un transformador c++
Curva de daño de un transformador c++Curva de daño de un transformador c++
Curva de daño de un transformador c++
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodos
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Informe tecnico de la unidad 1
Informe tecnico de la unidad 1Informe tecnico de la unidad 1
Informe tecnico de la unidad 1
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
 
Matematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMatematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedades
 
Presentacion de antiderivadas
Presentacion de antiderivadasPresentacion de antiderivadas
Presentacion de antiderivadas
 
Integrales infefinidas
Integrales infefinidasIntegrales infefinidas
Integrales infefinidas
 
Video 1 metodos y arreglos
Video 1 metodos y arreglosVideo 1 metodos y arreglos
Video 1 metodos y arreglos
 
Integral Indefinida
Integral IndefinidaIntegral Indefinida
Integral Indefinida
 
1 la antiderivada
1 la antiderivada1 la antiderivada
1 la antiderivada
 
Organizador grafico sobre las ondas
Organizador grafico sobre las ondasOrganizador grafico sobre las ondas
Organizador grafico sobre las ondas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tutorial rapido de octave
Tutorial rapido de octaveTutorial rapido de octave
Tutorial rapido de octave
 
2.1 recursividad
2.1 recursividad2.1 recursividad
2.1 recursividad
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
4 manejo de_metodos
4 manejo de_metodos4 manejo de_metodos
4 manejo de_metodos
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 

Similar a Curso java desde cero nivel i - modulo v

Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_ginehrgamaliel
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESAnaid03
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESJosee Olveeda
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANSWilliam Diaz S
 
Swing
SwingSwing
SwingEPN
 
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogHerencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogLCA
 
Proyecto sencillo con gui
Proyecto sencillo con guiProyecto sencillo con gui
Proyecto sencillo con guijbersosa
 

Similar a Curso java desde cero nivel i - modulo v (20)

Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_gine
 
Programación i
Programación iProgramación i
Programación i
 
Eventos
EventosEventos
Eventos
 
Flow layout
Flow layoutFlow layout
Flow layout
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Curso java 6
Curso java 6Curso java 6
Curso java 6
 
Eventos
EventosEventos
Eventos
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETES
 
TABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETESTABLA DE COMANDO /SENTENCIAS/PAQUETES
TABLA DE COMANDO /SENTENCIAS/PAQUETES
 
Guia4 java
Guia4 javaGuia4 java
Guia4 java
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Swing
SwingSwing
Swing
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogHerencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
 
Proyecto sencillo con gui
Proyecto sencillo con guiProyecto sencillo con gui
Proyecto sencillo con gui
 

Más de Giovanny Guillen

Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo iGiovanny Guillen
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del SoftwareGiovanny Guillen
 
Programacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesProgramacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesGiovanny Guillen
 
Programacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEProgramacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEGiovanny Guillen
 
Programacion RPG Operaciones
Programacion RPG OperacionesProgramacion RPG Operaciones
Programacion RPG OperacionesGiovanny Guillen
 
Programacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaProgramacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaGiovanny Guillen
 
Programación RPG - Conceptos
Programación RPG - ConceptosProgramación RPG - Conceptos
Programación RPG - ConceptosGiovanny Guillen
 
IBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datosIBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datosGiovanny Guillen
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGiovanny Guillen
 
Template project status report
Template project status reportTemplate project status report
Template project status reportGiovanny Guillen
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGiovanny Guillen
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégicaGiovanny Guillen
 

Más de Giovanny Guillen (20)

Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
 
Cobol training
Cobol trainingCobol training
Cobol training
 
Libro Ingeniería del Software
Libro Ingeniería del SoftwareLibro Ingeniería del Software
Libro Ingeniería del Software
 
Portafolio de proyectos
Portafolio de proyectosPortafolio de proyectos
Portafolio de proyectos
 
Seguridad del ibm i as400
Seguridad del ibm i as400Seguridad del ibm i as400
Seguridad del ibm i as400
 
Programacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y ExcepcionesProgramacion RPG - Gestión de Errores y Excepciones
Programacion RPG - Gestión de Errores y Excepciones
 
Programacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEProgramacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILE
 
Programacion RPG Operaciones
Programacion RPG OperacionesProgramacion RPG Operaciones
Programacion RPG Operaciones
 
Programacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y SalidaProgramacion RPG Especificaciones de Entrada y Salida
Programacion RPG Especificaciones de Entrada y Salida
 
Programación RPG - Conceptos
Programación RPG - ConceptosProgramación RPG - Conceptos
Programación RPG - Conceptos
 
Organizational values
Organizational valuesOrganizational values
Organizational values
 
IBM i - AS/400 - SDA
IBM i - AS/400 - SDAIBM i - AS/400 - SDA
IBM i - AS/400 - SDA
 
IBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datosIBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datos
 
Ingenieria requerimientos
Ingenieria requerimientosIngenieria requerimientos
Ingenieria requerimientos
 
Earn value
Earn valueEarn value
Earn value
 
Gestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de SoftwareGestión de la Capacidad en Fábricas de Software
Gestión de la Capacidad en Fábricas de Software
 
Fabricas de software
Fabricas de softwareFabricas de software
Fabricas de software
 
Template project status report
Template project status reportTemplate project status report
Template project status report
 
Gestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de RiesgosGestion de Proyectos - Gestion de Riesgos
Gestion de Proyectos - Gestion de Riesgos
 
La ejecución estratégica
La ejecución estratégicaLa ejecución estratégica
La ejecución estratégica
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

Curso java desde cero nivel i - modulo v

  • 1. | Copyright © 2021 Ing. Giovanny Guillén Bustamante | Copyright © 2021 Ing. Giovanny Guillén Bustamante Curso Java Desde Cero Nivel I – Módulo IV Gestión de Excepciones Y Componentes GUI parte I Agosto 2021 El éxito se alcanza con la constancia
  • 2. Excepciones try-catch finally / throw GUI: JFrame / JPanel / JLabel / JButton GUI: JTextField / JMenu GUI: JToolBar / JRadioButton / JComboBox Contenido MóduloV 01 02 03 04 05 | Copyright © 2021 Ing. Giovanny Guillén Bustamante 06
  • 3. En Java, una excepción es un evento que interrumpe el flujo normal del programa. Es un objeto que se produce en tiempo de ejecución. Excepciones | Copyright © 2021 Ing. Giovanny Guillén Bustamante Gestión de Excepciones Control de excepciones es un mecanismo para controlar errores en tiempo de ejecución como ClassNotFoundException, IOException, SQLException, RemoteException, etc.
  • 4. Excepción comprobada Las clases que heredan directamente la clase Throwable excepto RuntimeException y Error se conocen como excepciones comprobadas, por ejemplo, IOException, SQLException, etc. Las excepciones comprobadas se comprueban en tiempo de compilación. Excepción no verificada Las clases que heredan RuntimeException se conocen como excepciones no controladas, por ejemplo, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, etc. Las excepciones no marcadas no se comprueban en tiempo de compilación, pero se comprueban en tiempo de ejecución. Error El error es irrecuperable, por ejemplo, OutOfMemoryError, VirtualMachineError, AssertionError, etc. Excepciones | Copyright © 2021 Ing. Giovanny Guillén Bustamante
  • 5. try-catch | Copyright © 2021 Ing. Giovanny Guillén Bustamante El bloque try se utiliza para incluir el código que podría producir una excepción. Si se produce una excepción en la instrucción, el resto del código de bloque no se ejecutará. Debe ir seguido de catch o finally block. El bloque catch se utiliza para controlar la excepción declarando el tipo de excepción en el parámetro. La excepción declarada debe ser la excepción de clase primaria o el tipo de excepción generado. Debe utilizarse solo después del bloque try. Puede utilizar varios bloques catch con un único bloque try.
  • 6. Ejemplos: try-catch | Copyright © 2021 Ing. Giovanny Guillén Bustamante public class TryCatchEjemplo { public static void main(String[] args) { int dato=50/0; System.out.println(“Codigo"); } } public class TryCatchCaptura { public static void main(String[] args) { try { int dato=50/0; } catch(ArithmeticException e) { System.out.println(e); } System.out.println(“Codigo"); } } try captura la excepción catch lanza la excepción
  • 7. Ejemplos: public class TryCatchArray { public static void main(String[] args) { try { int arr[]= {1,3,5,7}; System.out.println(arr[10]); //Posible excepción } catch(ArrayIndexOutOfBoundsException e) { System.out.println(e); } System.out.println(“Código"); } } try-catch | Copyright © 2021 Ing. Giovanny Guillén Bustamante Se declara un array de enteros con 4 elementos catch lanza la excepción, en este caso, error de índice del array Se intenta acceder a un elemento que no existe en array
  • 8. Ejemplos: import java.io.File; import java.io.PrintWriter; public class Prueba { public static void main(String[] args) { File fl1 = new File("C:/Users/Me/Desktop/directory/file.txt"); PrintWriter printWriter = null; try { printWriter = new PrintWriter(fl1); printWriter.println(“Hola"); } catch (FileNotFoundException e) { e.printStackTrace(); } } } try-catch | Copyright © 2021 Ing. Giovanny Guillén Bustamante Se captura y se lanza la excepción sino se encuentra el archivo declarado como fl1
  • 9. El bloque finally se utiliza para ejecutar código importante como el cierre de conexión, cierre de archivos, etc. Siempre se ejecuta independientemente de si se gestiona la excepción o no. Siempre debe seguir al bloque try o catch. finally / throw | Copyright © 2021 Ing. Giovanny Guillén Bustamante Programa Excepción Excepción Gestionada Ejecutar Bloque finally No Si Si No Código de gestión
  • 10. El bloque finally, ejemplos: finally / throw | Copyright © 2021 Ing. Giovanny Guillén Bustamante class PFinally1 { public static void main(String args[]) { try { int data=25/5; System.out.println(data); } catch(NullPointerException e) { System.out.println(e); } finally { System.out.println(“finally siempre se ejecuta"); } System.out.println(“resto del código..."); } } class PFinally2 { public static void main(String args[]) { try { int data=25/0; System.out.println(data); } catch(NullPointerException e) { System.out.println(e); } finally { System.out.println("finally siempre se ejecuta"); } System.out.println(“Resto del código..."); } }
  • 11. throw, se utiliza para producir explícitamente una excepción. Podemos lanzar una excepción comprobada o no. Se utiliza para producir una excepción personalizada. finally / throw | Copyright © 2021 Ing. Giovanny Guillén Bustamante public class PThrow { static void valida(int edad) { if(edad<18) throw new ArithmeticException(“Edad no valida"); else System.out.println(“Bienvenido"); } public static void main(String args[]) { valida(13); System.out.println(“resto del código..."); } } Envía la excepción si se cumple la condición
  • 12. La clase javax.swing.JFrame es un tipo de contenedor que funciona como la ventana principal donde se agregan componentes como etiquetas, botones, campos de texto para crear un aplicación GUI. Constructores: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante Constructor Descripción JFrame() Construye un nuevo marco que es inicialmente invisible. JFrame(GraphicsConfiguration gc) Crea un Frame en el GraphicsConfiguration especificado de un dispositivo de pantalla y un título en blanco. JFrame(String title) Crea un nuevo Frame inicialmente invisible con el título especificado. JFrame(String title, GraphicsConfiguration gc) Crea un JFrame con el título especificado y el GraphicsConfiguration especificado de un dispositivo de pantalla.
  • 13. Métodos: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante Método Descripción addImpl(Component comp, Object constraints, int index) Agrega el componente secundario especificado. createRootPane() Llamado por los métodos constructores para crear el valor predeterminado rootPane. frameInit() Llamado por los constructores para iniciar el JFrame correctamente. setContentPane(Containe contentPane) Establece la propiedad contentPane setDefaultLookAndFeelDecorated(boole an defaultLookAndFeelDecorated) Proporciona una pista sobre si los JFrames recién creados para tener las decoraciones de ventana (como bordes, widgets para cerrar la ventana, título...) proporcionados por el aspecto actual. setIconImage(Image image) Establece la imagen que se mostrará como el icono de esta ventana. setJMenuBar(JMenuBar menubar) Establece la barra de menús para este marco.
  • 14. Métodos: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante Método Descripción add() Permite agregar un objeto al Frame setLocationRelativeTo() Establece la posición de la ventana en la pantalla. setsize(x, y) Define la dimensión de la ventana. setDefaultCloseOperation() Permite definir la operación de cierre de la Ventana. setVisible() Establece si la ventana será visible cuando inicia el programa setLayeredPane(JLayeredPane layeredPane) Establece la propiedad layeredPane. getRootPane() Devuelve el objeto rootPane para este marco. getTransferHandler() Obtiene la propiedad transferHandler. setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se especifica setLayout como null setLayout() Permitir establecer la posición de los objetos en el frame.
  • 15. JPanel es una clase contenedora más simple. Proporciona espacio en el que una aplicación puede adjuntar cualquier otro componente. Posee los siguientes métodos: JLabel: componente utilizado para desplegar texto o imágenes en el contenedor. GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante Método Descripción add() Permite agregar un objeto al JPanel. remove() Elimina un objeto del JPanel. setLayout() Permitir establecer la posición de los objetos en el panel. setVisible() Establece si el panel será visible cuando inicia el programa. setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se especifica setLayout como null. setBackground() Permite definir el color de fondo del componente. Método Descripción getText() Retorna el texto contenido en el objeto Jlabel setText() Agrega texto al objeto Jlabel setVisible() Establece si el objeto JLabel estará visible
  • 16. Jbutton se utiliza para crear un botón etiquetado. Cuando se presiona, permite realizar alguna acción en la aplicación. Posee los siguientes métodos: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante Métodos Descripción setText() Se utiliza para establecer el texto especificado en el botón getText() Se utiliza para devolver el texto del botón. setEnabled() Se utiliza para activar o desactivar el botón. setIcon() Se utiliza para establecer el icono especificado en el botón. getIcon() Se utiliza para obtener el icono del botón. setMnemonic() Se utiliza para ajustar el mnemotécnico en el botón. addActionListener() Se utiliza para agregar el agente de escucha de acción a este objeto. setBounds(x, y, width, height) Establece la posición y tamaño del componente en la pantalla si se especifica setLayout como null. setBackground() Permite definir el color de fondo del componente.
  • 17. Ejemplo: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Jpanel; public class JFrameApp { public static void main(String s[]) { JFrame frame = new JFrame(“Ejemplo JFrame"); JPanel panel = new JPanel(); panel.setLayout(new FlowLayout()); JLabel label = new JLabel("JFrame "); JButton button = new JButton(); button.setText(“Boton"); panel.add(label); panel.add(button); frame.add(panel); frame.setSize(200, 300); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } Se importan las clases necesarias Se crea el objeto de tipo JFrame Se crea el objeto de tipo JPanel Establece la posición de los objetos en ventana o contenedor Crea una objeto de tipo JLabel Crea una objeto de tipo Jbutton y establece el nombre Adiciona los objetos al contenedor JPanel Adiciona el contenedor al JFrame Establece las propiedades del JFrame
  • 18. Ejemplo: GUI: JFrame / JPanel / JLabel / JButton | Copyright © 2021 Ing. Giovanny Guillén Bustamante import java.awt.*; import javax.swing.*; public class PanelEjemplo { PanelEjemplo() { JFrame f= new JFrame(“Ejemplo de Panel"); JPanel panel=new JPanel(); panel.setBounds(40,80,200,200); panel.setBackground(Color.gray); JButton b1=new JButton("Boton 1"); b1.setBounds(50,100,80,30); b1.setBackground(Color.yellow); JButton b2=new JButton(“Boton 2"); b2.setBounds(100,100,80,30); b2.setBackground(Color.green); panel.add(b1); panel.add(b2); f.add(panel); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new PanelEjemplo(); } } Se importan las clases necesarias Se crea el objeto de tipo JFrame Se crea el objeto de tipo JPanel Se definen las propiedades del objeto panel Se crea el objeto de tipo JButton Se definen las propiedades del objeto boton Se adicionan los botones al panel Se adiciona el panel al frame y se definen las propiedades del frame Llamado al método que presenta el GUI
  • 19. La clase JTextField es un componente de texto que permite la edición de un texto de una sola línea. GUI: JTextField / JMenu | Copyright © 2021 Ing. Giovanny Guillén Bustamante Métodos Descripción void addActionListener(ActionListener l) Se usa para agregar el agente de escucha de acción especificado para recibir eventos de acción de este campo de texto. Action getAction() Devuelve la acción establecida actualmente para este origen ActionEvent, o null si no se establece ninguna acción. void setFont(Font f) Se utiliza para establecer la fuente actual. void removeActionListener(ActionListener l) Se utiliza para quitar el agente de escucha de acción especificado para que ya no reciba eventos de acción de este campo de texto. getText() Retorna el texto contenido en el objeto setText() Agrega texto al objeto setVisible() Establece si el objeto estará visible setEditable() Se utiliza para definir si un JTextField será editable
  • 20. Ejemplo: GUI: JTextField / JMenu | Copyright © 2021 Ing. Giovanny Guillén Bustamante import java.awt.event.*; import javax.swing.*; public class EjemploBoton { public static void main(String[] args) { JFrame f=new JFrame(“Ejemplo Boton"); final JTextField tf=new JTextField(); tf.setBounds(50,50, 150,20); JButton b=new JButton(“Presiona Aquí"); b.setBounds(50,100,95,30); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tf.setText(“Hola Bienvenido."); } }); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } } Se importa la clase event que permite definir los eventos a ejecutarse cuando se presiona un botón Se establece la acción a ejecutarse cuando se presiona el botón Se crea el objeto de tipo JTextField y establece sus propiedads
  • 21. En Java podemos crear menús en la pantalla gráfica utilizando sus componentes como son: GUI: Menús en Java | Copyright © 2020 Ing. Giovanny Guillén Bustamante Componentes para Menús en Java JMenubar JMenu JMenuItem JCheckBoxMenuItem JRadioButtonMenuItem JPopupMenu JMenuBar, es la barra donde se incluyen los componentes JMenu y las opciones como JMenuItem. Jmenu, es la opción que aparece sobre JMenuBar y haciendo click sobre esta, se despliega una caja que contiene los items del menú. JMenuItem, es cada uno de los items que se despliegan desde el Jmenu. JCheckBoxMenuItem, representa un checkbox que puede ser incluido como opción de menu. JRadioButtonMenuItem, representa una opción de menu como un radio button.
  • 22. Ejemplo: GUI: Menús en Java | Copyright © 2020 Ing. Giovanny Guillén Bustamante import javax.swing.*; class MenuExample { JMenu menu, submenu; JMenuItem i1, i2, i3, i4, i5; MenuExample() { JFrame f= new JFrame("Menu y MenuItem Ejemplo"); JMenuBar mb=new JMenuBar(); menu=new JMenu("Menu"); submenu=new JMenu("Sub Menu"); i1=new JMenuItem("Item 1"); i2=new JMenuItem("Item 2"); i3=new JMenuItem("Item 3"); i4=new JMenuItem("Item 4"); i5=new JMenuItem("Item 5"); menu.add(i1); menu.add(i2); menu.add(i3); submenu.add(i4); submenu.add(i5); menu.add(submenu); mb.add(menu); f.setJMenuBar(mb); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new MenuExample(); } } En este ejemplo declaramos la barra de menú, el contenedor de menú y las opciones al menú y submenú. Los principales métodos son: add(): Adiciona un item al menú setEnable(): Activa o inactiva el menú o la opción setIcon(): Agrega una imagen de icono al menú u opción setMnemonic(): Permite definir una juego de teclas para acceder al menú u opción
  • 23. GUI: JToolBar / JRadioButton / JComboBox | Copyright © 2021 Ing. Giovanny Guillén Bustamante JToolBar contenedor que permite agrupar otros componentes, generalmente botones con iconos en una fila o columna como en una barra de herramientas. public class JToolBarE { public static void main(final String args[]) { JFrame myframe = new JFrame("JToolBar Ejemplo"); myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JtoolBar toolbar = new JToolBar(); toolbar.setRollover(true); JButton button = new JButton(“Archivo"); toolbar.add(button); toolbar.addSeparator(); toolbar.add(new JButton("Editar")); toolbar.add(new JComboBox(new String[] { "Opc-1", "Opc-2", "Opc-3", "Opc-4" })); Container contentPane = myframe.getContentPane(); contentPane.add(toolbar, BorderLayout.NORTH); JTextArea textArea = new JTextArea(); JScrollPane mypane = new JScrollPane(textArea); contentPane.add(mypane, BorderLayout.EAST); myframe.setSize(450, 250); myframe.setVisible(true); } } Este ejemplo utiliza las clases: java.awt.BorderLayout, java.awt.Container, javax.swing.Jbutton, javax.swing.JComboBox, javax.swing.Jframe. javax.swing.JScrollPane, javax.swing.JTextArea, javax.swing.JToolBar Y se deben impotar
  • 24. GUI: JToolBar / JRadioButton / JComboBox | Copyright © 2021 Ing. Giovanny Guillén Bustamante JRadioButton: se utiliza para crear un botón de opción para elegir una opción de varias opciones. Métodos comúnes. Métodos Descripción void setText(String s) Se utiliza para establecer un texto especifico en el botón. String getText() Se utiliza para devolver el texto del botón. void setEnabled(boolean b) Se utiliza para habilitar o deshabilitar el botón. void setIcon(Icon b) Se utiliza para establecer un icono especifico en el botón. Icono getIcon() Se utiliza para obtener el icono del botón. void setMnemonic(int a) Se utiliza para establecer la tecla de acceso en el botón. void addActionListener(ActionListener a) Se utiliza para agregar el agente de escucha de acción a este objeto.
  • 25. GUI: JToolBar / JRadioButton / JComboBox | Copyright © 2021 Ing. Giovanny Guillén Bustamante JRadioButton Ejemplo. import javax.swing.*; public class RadioButtonExample { JFrame f; RadioButtonExample(){ f=new JFrame(); JRadioButton r1=new JRadioButton(“M - Masculino"); JRadioButton r2=new JRadioButton(“F - Femenino"); r1.setBounds(75,50,100,30); r2.setBounds(75,100,100,30); ButtonGroup bg=new ButtonGroup(); bg.add(r1);bg.add(r2); f.add(r1);f.add(r2); f.setSize(300,300); f.setLayout(null); f.setVisible(true); } public static void main(String[] args) { new RadioButtonExample(); } }
  • 26. GUI: JToolBar / JRadioButton / JComboBox | Copyright © 2021 Ing. Giovanny Guillén Bustamante JComboBox: se utiliza para mostrar el menú emergente de opciones. La opción seleccionada por el usuario se muestra en la parte superior de un menú. Métodos comúnes. Métodos Descripción void addItem(Object anObject) Se utiliza para agregar un elemento a la lista de elementos. void removeItem(Object anObject) Se utiliza para eliminar un elemento de la lista. void removeAllItems() Se utiliza para quitar todos los elementos de la lista. void setEditable(boolean b) Se utiliza para determinar si el JComboBox es editable. void addActionListener(ActionListener a) Se utiliza para agregar el ActionListener o método que gestionará las acciones del control void addItemListener(ItemListener i) Se utiliza para agregar ItemListener o método que gestionará las acciones del item.
  • 27. GUI: JToolBar / JRadioButton / JComboBox | Copyright © 2021 Ing. Giovanny Guillén Bustamante JComboBox Ejemplo. import javax.swing.*; public class ComboBoxExample { JFrame f; ComboBoxExample(){ f=new JFrame("ComboBox Example"); String country[]={"Venezuela","Australia","U.S.A",“Inglaterra","Canada"}; JComboBox cb=new JComboBox(country); cb.setBounds(50, 50,90,20); f.add(cb); f.setLayout(null); f.setSize(400,500); f.setVisible(true); } public static void main(String[] args) { new ComboBoxExample(); } }
  • 28. Fin del módulo II: Seguidamente el instructor le indicará para realizar las prácticas del módulo. “La autosuperación es solo el primer paso hacia la sabiduría.” Prácticas | Copyright © 2021 Ing. Giovanny Guillén Bustamante