Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ahora que aprendiste todas las caractersticas de funcionamiento para los mens y
ventanas, ests listo(a) para realizar las siguientes instrucciones.
Propsito: Construir mens y ventanas grficas, as como identificar su declaracin e
implementar su manipulacin.
Instrucciones:
1. Identifica los diferentes tipos de mens y ventanas grficas vistas en el desarrollo
de la unidad.
2. Identifica su estructura algortmica (pasos) y sintctica (cdigo).
3. Crea un proyecto en NetBeans, que contenga un programa donde apliques todos
los contenedores y controles identificados en los puntos 1 y 2.
Mens y Ventanas
Representacin del cdigo
Bloque azul:
Contiene la declaracin del paquete, el autor, la clase, definicin del autor y las llaves
correspondientes. Inicializo de componentes.
Bloque Oliva:
Se crea la nueva form para la Barra de Menu, inicializando los componentes. Con la
propiedad de maximizar la venta de principal. Inicializa los componentes que se est
creando el mens, subItems, separador, etc.
Bloque amarillo:
Declaracin de todos los componentes grficos que se estarn utilizando en el programa,
estas declaraciones estn fuera de todos los mtodos, lo que significa que estn
declarados a nivel de clase, con la intencin de poder manipular cada uno de los
componentes grficos desde cualquier parte de la clase. Creando el mens y submens
con respetivamente propiedades
Bloque rojo:
Mtodo principal de cada uno de los submens en el cual cada una tiene una accin. En
el mtodo actionPerformed() del java swing, que sirve para decir qu hacer cuando se
pulse un botn o algo.
Bloque Turquesa:
Declaracin de las variables, de los controles utilizados.
Bloque Verde:
Con esta clase se implementara el escuchador ActionListener , que ser con el que se
detectaran las acciones en el Men de cuadros de mensajes.
Segn la opcin seleccionada en el men.
Este mtodo es para la creacin de la ventana de cuadros de dialogo de mensajes.
Primero se crean las variables que funcionaran como elementos del men y el objeto rea
de texto donde ira la descripcin de cada cuadro de dialogo.
Despus se agregan los elementos del men a la ventana con su respectivo escuchador.
Por ltimo se definen las caractersticas de la ventana y se ocupa un escuchador de
ventana para que al cerrar la ventana, esta se cierre y se vuelve a ejecutar el mtodo
Principal();.
Bloque Morado: Servir para crear una ventana donde se realizara un men emergente
de manera representativa. Primero se crea la ventana y se especifican sus
caractersticas dentro de las cuales se agrega un escuchador de ventana para que
al dar clic en el icono de cerrar de la ventana, esta se cierre y se vuelva a ejecutar
el mtodo Principal();.
A continuacin se crea el men emergente y sus submens, los cuales despus se
agregan al men principal.
Por ltimo se agrega al men emergente a la ventana.
Bloque Rosa: Dentro del void main es donde se escriben las lneas que son las que
permiten el funcionamiento del programa, la primera crea un objeto de la clase
VentanasMenu, que es la clase que se describi antes, donde se crea toda la apariencia y
funcionalidad del programa. La segunda lnea invoca el mtodo principal(); del objeto
previamente creado, y realizando esta llamada se crea el programa.
package Menu;
/**
*
* autor : Hugo Cesar Flores Ortiz
/**
* crea la nueva form para BarradeMenu
*/
public BarradeMenu() {
initComponents();
//MAximizar el formulario en ambos sentidos
this.setExtendedState(this.MAXIMIZED_BOTH);
}
/**
* Este mtodo es llamado desde dentro del constructor para inicializar el formulario..
* Inicializa los componentes
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPopupMenu2 = new javax.swing.JPopupMenu();
jMenuItem8 = new javax.swing.JMenuItem();
jMenuItem7 = new javax.swing.JMenuItem();
jSeparator3 = new javax.swing.JPopupMenu.Separator();
jMenuItem9 = new javax.swing.JMenuItem();
jSeparator4 = new javax.swing.JPopupMenu.Separator();
jMenu4 = new javax.swing.JMenu();
Ttulo",
{
JOptionPane.showMessageDialog(this, "La respuesta fue - SI");
}
else
{
JOptionPane.showMessageDialog(this, "La respuesta fue - NO");
}
10
default:
JOptionPane.showMessageDialog(this, "No se eligi ninguna opcin");
break;
}
}
11
12
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(BarradeMenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(BarradeMenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(BarradeMenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(BarradeMenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
13
14
package Menu;
import java.awt.Font;
/**
*Hugo Cesar Flores Ortiz
* Ventana emergente
* 22 de noviembre
*/
public class Emergente extends javax.swing.JDialog {
/**
* Creates new form Emergente
*/
public Emergente(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
15
Arial.setText("Arial");
Arial.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ArialActionPerformed(evt);
}
});
memer.add(Arial);
Tahoma.setText("Tahoma");
Tahoma.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TahomaActionPerformed(evt);
}
});
memer.add(Tahoma);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jTextArea1.setText("Este es una prueba de menu emergente");
jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTextArea1MouseClicked(evt);
}
});
16
pack();
}// </editor-fold>
17
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<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.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Emergente.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Emergente.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Emergente.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Emergente.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
18
19