Você está na página 1de 5

Universidad Nacional del Altiplano Puno

Escuela Profesional de Ingeniera de Sistemas


CURSO: TECNOLOGA DE DESARROLLO DE APLICACIONES
GUA ACADMICA Nro. 14

TEMA: APLICACION MDI, MENUS FLOTANTES Y BARRA DE HERRAMIENTAS

Apellidos y Nombres: Nro. Matrcula: .

OBJETIVOS:

Aprender la programacin Visual en el Lenguaje Java

REQUERIMIENTOS:

PC con Windows.
jdk-6u10-windows-i586-p.exe
netbeans-6.5-ml-windows.exe

PARTE 1: EJEMPLOS DE JAVA

1.1 APLICACION MDI, MENUS FLOTANTES Y BARRA DE HERRAMIENTAS

A continuacin desarrollaremos una Aplicacin que maneja Pestaas y Caja de dilogos.

a. Cree un nuevo proyecto de tipo Java Application y en la opcin Project Name coloque
pMDImenuba, y en la opcin Create Main Class coloque: pmdimenuba.CMDImenuba,
luego haga click en Finish

b. Copie y ejecute el siguiente cdigo (Archivo: CMDImenuba.java):


package pmdimenuba;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.beans.*;

public class CMDImenuba extends JFrame implements ActionListener


{
private JDesktopPane DPane;
private JPopupMenu Menu;
private JButton abreFrameUno;
private JButton abreFrameDos;
private JButton salir;
private JInternalFrame IFrameUno;
private JInternalFrame IFrameDos;
public CMDImenuba()
{
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e){System.exit(0);}});
setSize(500,400);
setLocation(100,50);
setTitle("Aplicacin MDI con Barra de Herramientas y Menu Flotante");

//Creacin del Menu


JMenuBar BarraMenu = new JMenuBar();
setJMenuBar(BarraMenu);

JMenu menuArchivo = new JMenu("Archivo");


menuArchivo.setMnemonic('A');

JMenuItem itemAbrirUno = new JMenuItem("Abrir Frame Interno Uno...",


new ImageIcon("C:\\images\\iestudiante.gif"));
itemAbrirUno.setMnemonic('U');

Ing. Juan Antonio Flores Moroco 1


Universidad Nacional del Altiplano Puno
Escuela Profesional de Ingeniera de Sistemas
CURSO: TECNOLOGA DE DESARROLLO DE APLICACIONES
JMenuItem itemAbrirDos= new JMenuItem("Abrir Frame Interno Dos...",
new ImageIcon("C:\\images\\iok.gif"));
itemAbrirDos.setMnemonic('D');
JMenuItem itemSalir= new JMenuItem("Salir",
new ImageIcon("C:\\images\\icancel.gif"));
itemSalir.setMnemonic('r');
itemSalir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,
InputEvent.ALT_MASK));;

menuArchivo.add(itemAbrirUno);
menuArchivo.add(itemAbrirDos);
menuArchivo.addSeparator();
menuArchivo.add(itemSalir);

BarraMenu.add(menuArchivo);
itemAbrirUno.addActionListener(this);
itemAbrirDos.addActionListener(this);
itemSalir.addActionListener(this);

//Crear la Barra de herramientas


JToolBar barra = new JToolBar();
abreFrameUno = new JButton(new ImageIcon("C:\\images\\iestudiante.gif"));
abreFrameUno.setToolTipText("Abre el Frame Interno Uno");
abreFrameDos = new JButton(new ImageIcon("C:\\images\\iok.gif"));
abreFrameDos.setToolTipText("Abre el Frame Interno Dos");
salir = new JButton(new ImageIcon("C:\\images\\icancel.gif"));
salir.setToolTipText("Cierra la aplicacin");

barra.add(abreFrameUno);
barra.add(abreFrameDos);
barra.addSeparator();
barra.add(salir);

abreFrameUno.addActionListener(this);
abreFrameDos.addActionListener(this);
salir.addActionListener(this);

Container P = getContentPane();
P.setLayout(new BorderLayout());
P.add(barra,"North");

// Creacin del rea para insertar los frames


DPane = new JDesktopPane();
DPane.putClientProperty("JDesktopPane.dragMode", "outline");
P.add(DPane,"Center");
}

public void actionPerformed(ActionEvent evt)


{
Object origem = evt.getSource();
String item = evt.getActionCommand();
if (item == "Abrir Frame Interno Uno..." || origem == abreFrameUno)
{
IFrameUno = new JInternalFrame("Frame Interno Uno", true, true, true, true);
IFrameUno.setSize(250,150);
IFrameUno.setLocation(50,50);
IFrameUno.setFrameIcon(new ImageIcon("C:\\images\\iestudiante.gif"));
IFrameUno.setVisible(true);
JButton BotonCerrar = new JButton("Cerrar");
BotonCerrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
IFrameUno.setClosed(true);
}
catch (PropertyVetoException exc) { }

Ing. Juan Antonio Flores Moroco 2


Universidad Nacional del Altiplano Puno
Escuela Profesional de Ingeniera de Sistemas
CURSO: TECNOLOGA DE DESARROLLO DE APLICACIONES
}
} );

Menu = new JPopupMenu();

JMenuItem itemTitulo = new JMenuItem("Modificar Ttulo");


Menu.add(itemTitulo);
itemTitulo.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String retorno = JOptionPane.showInternalInputDialog(IFrameUno,
"Digite nuevo ttulo", "Entrada", JOptionPane.QUESTION_MESSAGE);
if (retorno != null)
IFrameUno.setTitle(retorno);
try
{
IFrameUno.setSelected(true);
}
catch (PropertyVetoException exc) { }
}
});

Menu.addSeparator();

JMenuItem itemCerrar = new JMenuItem("Cerrar");


Menu.add(itemCerrar);
itemCerrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
IFrameUno.setClosed(true);
}
catch (PropertyVetoException exc) { }
}
});

IFrameUno.addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger())
Menu.show(e.getComponent(), e.getX(), e.getY());
}
} );

Container C = IFrameUno.getContentPane();
C = IFrameUno.getContentPane();
C.setLayout(new BorderLayout());
C.add(BotonCerrar,"South");
DPane.add(IFrameUno);

try
{
IFrameUno.setSelected(true);
}
catch (PropertyVetoException exc) { }
}

else if (item == "Abrir Frame Interno Dos..." || origem == abreFrameDos)


{
IFrameDos = new JInternalFrame("Frame Interno Dos", false, true, false, false);
IFrameDos.setSize(250,150);
IFrameDos.setLocation(150,150);
IFrameDos.setFrameIcon(new ImageIcon("C:\\images\\iok.gif"));
IFrameDos.setVisible(true);

Ing. Juan Antonio Flores Moroco 3


Universidad Nacional del Altiplano Puno
Escuela Profesional de Ingeniera de Sistemas
CURSO: TECNOLOGA DE DESARROLLO DE APLICACIONES

JButton BotonCerrar = new JButton("Cerrar");


BotonCerrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
IFrameDos.setClosed(true);
}
catch (PropertyVetoException exc) { }
}
});

Container C = IFrameDos.getContentPane();
C.setLayout(new BorderLayout());
C.add(BotonCerrar,"South");
DPane.add(IFrameDos);

try
{
IFrameDos.setSelected(true);
}
catch (PropertyVetoException exc) { }
}
else if (item == "Salir" || origem == salir)
System.exit(0);
}
public static void main(String[] args)
{
CMDImenuba fr = new CMDImenuba();
fr.setVisible(true);
}
}

Resultado:

Ing. Juan Antonio Flores Moroco 4


Universidad Nacional del Altiplano Puno
Escuela Profesional de Ingeniera de Sistemas
CURSO: TECNOLOGA DE DESARROLLO DE APLICACIONES

Ing. Juan Antonio Flores Moroco 5

Você também pode gostar