Dpo2 U2 A3 Almm

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 19

NOMBRE: Caridad Montiel Hernández

Alejandro Medina Martinez UNIDAD:

CARRERA: 2

Ingeniería en Desarrollo de Software ACTIVIDAD:

ASIGNATURA: Actividad 3, Menús y ventanas


FECHA:
Programación orientada a objetos II

10/11/2021
GRUPO:

DPO2-B1

DOCENTE:
Índice
Introducción...........................................................................................................................................................
Contenido...............................................................................................................................................................
Tabla...................................................................................................................................................................
Caso de estudio..................................................................................................................................................
Conclusión............................................................................................................................................................
Bibliografía...........................................................................................................................................................

Ilustración 1............................................................................................................................................................
Ilustración 2............................................................................................................................................................
Ilustración 3............................................................................................................................................................
Ilustración 4............................................................................................................................................................
Ilustración 5..........................................................................................................................................................
Ilustración 6..........................................................................................................................................................
Ilustración 7..........................................................................................................................................................
Ilustración 8..........................................................................................................................................................

2
Indicaciones.
1. Realiza una investigación documental en fuentes confiables de los tipos de menús, sus submenús
y sus propiedades que pueden ser programables en JAVA.

2. Elabora una investigación documental en fuentes confiables de lo referente a ventanas y así como
sus propiedades que pueden ser programables en JAVA.

3. Completa la siguiente tabla:

4. Revisa el siguiente caso de estudio: Un restaurant, requiere que se implemente una aplicación que
realice las altas de los elementos de sus menús los cuales se dividen en Entrada, Plato principal,
complemento, bebidas y postres para ello se requiere que cada menú y submenú te envié a un
formulario (que desarrollarás) el cual permita la captura de los siguientes elementos:

o Entrada: con platos como  Nombre del platillo

 Nombre de la entrada  Características

 Gramaje por porción  Gramaje

 Costo  Costo

 Tiempo de preparación  Tiempo de preparación

o Plato principal: o Bebida

 Nombre del platillo  Tipo de bebida

 Ingredientes  Marca

 Gramaje o porción por  Nombre


persona
 Ingredientes:
 Costo
 Tiempo de preparación
 Tiempo de preparación
 Costo
o Complementos:

5. Desarrolla los formularios necesarios sobre los elementos especificados en el punto 4 incluyendo
2 botones con el nombre guardar, salir, para ellos debes de incluir mensajes emergentes donde
indique que no hay conexión con la base de datos y en salir que confirme si deseas salir o
permanecer en la pantalla de captura, si seleccionas salir te regresara al menú principal.

6. Integra el desarrollo de tu actividad en un archivo de Word, con los siguientes elementos de


identificación: Carátula, nombre del profesor y estudiante, actividad, unidad y fecha, Índice,
Introducción, media cuartilla, Contenido de la actividad, Conclusión en media cuartilla, todas las
hojas deben estar enumeradas, referencias bibliográficas en formato APA (por lo menos tres
fuentes),

7. Integra tus capturas de pantalla deberán de cumplir con vista de la hora y fecha de tu sistema y en
el fondo de esta se vea tu sesión de la UNADM activa de lo contrario no se tomará en cuenta, toma
como ejemplo la imagen que se presenta a continuación.

8. Guarda el archivo con la nomenclatura DPOO2_U2_A3_XXYZ. Sustituye las XX por las dos
primeras letras de tu nombre, la Y por la letra de tu primer apellido y y la Z por la primera letra de tu
segundo apellido, recuerda guardar tu archivo en formato de Word e integrar tu carpeta de código
java, de lo contrario no se tomará en cuenta la actividad .

3
Introducción
Los Menús son siempre el centro de la aplicación, porque son el medio de que el usuario
interactúe con esa aplicación.
Cuando necesitamos implementar un menú horizontal en la parte superior de un JFrame
requerimos de un objeto de la clase JMenuBar, uno o más objetos de la clase JMenu.

Contenido
Tabla
Componente Descripción Sintaxis de ejemplo básico
JMenu El JMenu es la palabra que import javax.swing.*;
class MenuExample
vemos sobre el JMenuBar y {
haciendo click sobre el se JMenu menu, submenu;
despliega una caja que contiene JMenuItem i1, i2, i3, i4, i5;
MenuExample(){
los items del menu JFrame f= new JFrame("Menu and MenuItem Example");
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();
}}
JMenuBar El JMenuBar, es la barra de import javax.swing.*;
public class Menu {
menu tipica de cualquier static JFrame marco = new JFrame(); //La ventana
programa que hayamos usado static JMenuBar barra = new JMenuBar(); //La Barra de menu
como por ejemplo el microsoft static JMenu menu1 = new JMenu("Archivo", false); //el menu archivo
static JMenu menu2 = new JMenu("Editar", true); //el menu editar
Word static JMenuItem item1 = new JMenuItem("Hola"); //un item para el menu
JMenuItem Cada uno de los items que se archivo
static JMenuItem item2 = new JMenuItem("vacio"); //otro para editar
despliegan desde el JMenu
public static void main(String[] Dar10){
//configuracion de la ventana
marco.setTitle("BARRA DE MENU");
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marco.setLocationRelativeTo(null);
marco.setSize(250, 100);
marco.setLayout(null);

menu1.add(item1);
menu1.addSeparator(); //agrega un separador
menu1.add("Chau"); //crea un item con el string
barra.add(menu1);

item2.setEnabled(false); //deshabilita este item


menu2.add(item2);
barra.add(menu2);

4
barra.setBounds(5, 5, 230, 12); //configuracion de la posicion y tamaño
marco.add(barra);

marco.setVisible(true);
}
}

JOptionPane JOptionPane se utiliza para import javax.swing.*;


public class OptionPaneExample {
proporcionar cuadros de diálogo JFrame f;
estándar, como cuadro de OptionPaneExample(){
diálogo de mensaje, cuadro de f=new JFrame();
JOptionPane.showMessageDialog(f,"Hello, Welcome to Javatpoint.");
diálogo de confirmación y }
cuadro de diálogo de entrada. public static void main(String[] args) {
new OptionPaneExample();
Estos cuadros de diálogo se }
utilizan para mostrar }
información u obtener
información del usuario.
JPopupMenu PopupMenu puede aparecer import javax.swing.*;
import java.awt.event.*;
dinámicamente en una posición class PopupMenuExample
específica dentro de un {
componente. Hereda la clase PopupMenuExample(){
final JFrame f= new JFrame("PopupMenu Example");
JComponent. final JPopupMenu popupmenu = new JPopupMenu("Edit");
JMenuItem cut = new JMenuItem("Cut");
JMenuItem copy = new JMenuItem("Copy");
JMenuItem paste = new JMenuItem("Paste");
popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste);
f.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
popupmenu.show(f , e.getX(), e.getY());
}
});
f.add(popupmenu);
f.setSize(300,300);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String args[])
{
new PopupMenuExample();
}}
JToolTip Se utiliza para mostrar una import java.awt.BorderLayout;
import java.awt.Color;
"sugerencia" para un import javax.swing.JButton;
componente. Normalmente import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToolTip;
public class Main {
public static void main(String args[]) {
JFrame frame = new JFrame("Tooltip");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setToolTipText("<HtMl>Tooltip<br>Message");
frame.add(panel, BorderLayout.CENTER);
JButton button = new JButton("Hello, World") {
public JToolTip createToolTip() {
JToolTip tip = super.createToolTip();
tip.setBackground(Color.YELLOW);
tip.setForeground(Color.RED);
return tip;
}/* w w w . d e m o 2 s.c o m*/
public boolean contains(int x, int y) {

5
if (x < 100) {
setToolTipText("x < 100");
} else {
setToolTipText("else");
}
return super.contains(x, y);
}
};
button.setToolTipText("Hello, World");
frame.add(button, BorderLayout.NORTH);
frame.setSize(300, 150);
frame.setVisible(true);
}
}

6
Caso de estudio
En las siguientes imágenes de capturas de pantallas se puede ver el funcionamiento del programa
con base en lo solicitado en el caso de estudio de esta actividad.
En la Ilustración 1 se puede ver la pantalla de inicio del programa donde solamente se muestra un
texto, con un menú superior con las opciones de Inicio y Menu

Ilustración 1

7
En la Ilustración 2 se puede ver lo mismo que la imagen pasada, sin embargo en esta imagen se
encuentra ya compilado y ejecutándose el programa.

Ilustración 2

8
En la Ilustración 3 se puede ver igualmente el programa en ejecución, donde se encuentra
seleccionado el menú superior y se muestra un submenú en la opción de “Menu” donde se muestran
las opciones: Entradas, Plato Principal, Complementos y Bebidas y Postres.

Ilustración 3

9
En la Ilustración 4 se puede ver el programa ejecutándose, y se ingreso a la primera opción del
submenú, donde se muestra una nueva ventana (Entradas) y se muestran diferentes opciones para
elaborar la orden.

Ilustración 4

10
En la Ilustración 5 se pueden ver todas las ventanas de las diferentes opciones del submenú, tales
como: Entrada, Platillo principal, Complementos y Bebidas y Postres.

Ilustración 5

11
En la Ilustración 6 se puede se ingreso a la opción de Inicio / Guardar y posterior a ello se puede ver
una nueva ventana donde sale un mensaje que dice “Error de conexión con la Base de Datos” tal
como lo solicito el caso de estudio.

Ilustración 6

12
En la Ilustración 7 podemos observar que se ingreso a la opción de Salir, y el programa lanza una
nueva ventana, donde pregunta si realmente se desea salir, tal y como es solicitado en el caso de
estudio.

Ilustración 7

13
Y en la ilustración 8 podemos ver parte del código de fuente en el programa.

Ilustración 8

14
Código de fuente
/* jMenuItem5 = new javax.swing.JMenuItem();

* To change this license header, choose License Headers in Project jMenuItem6 = new javax.swing.JMenuItem();
Properties.

* To change this template file, choose Tools | Templates


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_
* and open the template in the editor. CLOSE);

*/ jLabel9.setText("INSTRUCCIONES: Favor de seleccionar la


opcion con base en la seleccion del cliente");
package com.mycompany.restaurante;
jMenu5.setText("Inicio");
import javax.swing.JOptionPane;
jMenu5.addActionListener(new java.awt.event.ActionListener() {
/**
public void actionPerformed(java.awt.event.ActionEvent evt) {
*
jMenu5ActionPerformed(evt);
* @author aleja
}
*/
});
public class Menu extends javax.swing.JFrame {
jMenuItem1.setText("Guardar");
/**
jMenuItem1.addActionListener(new
* Creates new form Menu java.awt.event.ActionListener() {

*/ public void actionPerformed(java.awt.event.ActionEvent evt) {

public Menu() { jMenuItem1ActionPerformed(evt);

initComponents(); }

} });

/** jMenu5.add(jMenuItem1);

* This method is called from within the constructor to initialize the jMenuItem2.setText("Salir");
form.
jMenuItem2.addActionListener(new
* WARNING: Do NOT modify this code. The content of this java.awt.event.ActionListener() {
method is always
public void actionPerformed(java.awt.event.ActionEvent evt) {
* regenerated by the Form Editor.
jMenuItem2ActionPerformed(evt);
*/
}
@SuppressWarnings("unchecked")
});
// <editor-fold defaultstate="collapsed" desc="Generated Code">
jMenu5.add(jMenuItem2);
private void initComponents() {
jMenuBar1.add(jMenu5);
jLabel9 = new javax.swing.JLabel();
jMenuBar1.add(jMenu4);
jMenuBar1 = new javax.swing.JMenuBar();

jMenu5 = new javax.swing.JMenu();


jMenu6.setText("Menu");
jMenuItem1 = new javax.swing.JMenuItem();
jMenu6.addActionListener(new java.awt.event.ActionListener() {
jMenuItem2 = new javax.swing.JMenuItem();
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenu4 = new javax.swing.JMenu();
jMenu6ActionPerformed(evt);
jMenu6 = new javax.swing.JMenu();
}
jMenuItem3 = new javax.swing.JMenuItem();
});
jMenuItem4 = new javax.swing.JMenuItem();
jMenuItem3.setText("Entrada");

15
jMenuItem3.addActionListener(new .addGroup(layout.createSequentialGroup()
java.awt.event.ActionListener() {
.addContainerGap()
public void actionPerformed(java.awt.event.ActionEvent evt) {
.addComponent(jLabel9)
jMenuItem3ActionPerformed(evt);
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SI
} ZE, Short.MAX_VALUE))

}); );

jMenu6.add(jMenuItem3); layout.setVerticalGroup(

jMenuItem4.setText("Plato principal: "); layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA


DING)
jMenuItem4.addActionListener(new
java.awt.event.ActionListener() { .addGroup(layout.createSequentialGroup()

public void actionPerformed(java.awt.event.ActionEvent evt) { .addGap(45, 45, 45)

jMenuItem4ActionPerformed(evt); .addComponent(jLabel9)

} .addContainerGap(97, Short.MAX_VALUE))

}); );

jMenu6.add(jMenuItem4); pack();

jMenuItem5.setText("Complementos"); }// </editor-fold>

jMenuItem5.addActionListener(new private void


java.awt.event.ActionListener() { jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

public void actionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(rootPane, "ERROR de conexion


con la BD.");
jMenuItem5ActionPerformed(evt);
}
}
private void
}); jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

jMenu6.add(jMenuItem5); JOptionPane.showMessageDialog(rootPane,"Salir","Realmente
desea desea salir?",JOptionPane.QUESTION_MESSAGE); //
jMenuItem6.setText("Bebida y Postres"); TODO add your handling code here:

jMenuItem6.addActionListener(new }
java.awt.event.ActionListener() {
private void jMenu5ActionPerformed(java.awt.event.ActionEvent
public void actionPerformed(java.awt.event.ActionEvent evt) { evt) {

jMenuItem6ActionPerformed(evt); }

} private void
jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
});
new Bebidas().setVisible(true); // TODO add your handling code
jMenu6.add(jMenuItem6); here:

jMenuBar1.add(jMenu6); }

setJMenuBar(jMenuBar1); private void


jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane()); new Entradas().setVisible(true); // TODO add your handling code
here:
getContentPane().setLayout(layout);
}
layout.setHorizontalGroup(
private void jMenu6ActionPerformed(java.awt.event.ActionEvent
evt) {
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
}
DING)

16
private void java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.uti
jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) { l.logging.Level.SEVERE, null, ex);

new PPrimcipal().setVisible(true); // TODO add your handling } catch (IllegalAccessException ex) {


code here:
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.uti
} l.logging.Level.SEVERE, null, ex);

private void } catch (javax.swing.UnsupportedLookAndFeelException ex) {


jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.uti
new Complementos().setVisible(true); // TODO add your handling l.logging.Level.SEVERE, null, ex);
code here:
}
}
//</editor-fold>
/**

* @param args the command line arguments


/* Create and display the form */
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public static void main(String args[]) {
public void run() {
/* Set the Nimbus look and feel */
new Menu().setVisible(true);
//<editor-fold defaultstate="collapsed" desc=" Look and feel
setting code (optional) "> }

/* If Nimbus (introduced in Java SE 6) is not available, stay with });


the default look and feel.
}
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.ht
ml
// Variables declaration - do not modify
*/
private javax.swing.JLabel jLabel9;
try {
private javax.swing.JMenu jMenu4;
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { private javax.swing.JMenu jMenu5;

if ("Nimbus".equals(info.getName())) { private javax.swing.JMenu jMenu6;

private javax.swing.JMenuBar jMenuBar1;

javax.swing.UIManager.setLookAndFeel(info.getClassName()); private javax.swing.JMenuItem jMenuItem1;

break; private javax.swing.JMenuItem jMenuItem2;

} private javax.swing.JMenuItem jMenuItem3;

} private javax.swing.JMenuItem jMenuItem4;

} catch (ClassNotFoundException ex) { private javax.swing.JMenuItem jMenuItem5;

private javax.swing.JMenuItem jMenuItem6;


java.util.logging.Logger.getLogger(Menu.class.getName()).log(java.uti // End of variables declaration
l.logging.Level.SEVERE, null, ex);
}
} catch (InstantiationException ex) {

17
Conclusión
En esta actividad se pudo trabajar con diferentes componentes para dar cierta funcionalidad
a un programa, aunque los requerimientos del caso de estudio fueron muy simples o
básicos, estos son indispensables en todas las aplicaciones, tal es el caso cuando uno quiere
salir de la aplicación y sale una ventana emergente preguntándonos si realmente queremos
realizar dicha acción, al igual con el caso del cuadro de dialogo emergente, que estos salen
cuando algo requiere de tu atención.

Bibliografía

 Programación orientada a objetos II Unidad 2. Componentes gráficos. (21–10). UNADM.


Recuperado 9 de noviembre de 2021, de
https://campus.unadmexico.mx/contenidos/DCEIT/BLOQUE1/DS/03/DPO2/U2/descargables/
DPO2_U2_Contenido.pdf
 Ceballos, F. J. (2006). Java 2: Interfaces gráficas y aplicaciones para internet. (2ª Ed.). Madrid: RA-
MA.
 Oracle (2011). The JAVA Tutorials. California: Oracle.

18
19

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy