| 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

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, unaexcepció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 clasesque 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 { publicstatic 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; publicclass 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 finallyse 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 utilizapara 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.JFramees 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 unaclase 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 utilizapara 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 JTextFieldes 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 podemoscrear 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 enJava | 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óduloII: 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