Sie sind auf Seite 1von 41

1.

CDIGO FUENTE
2. MANUAL DE USUARIO
3. DICCIONARIO DE DATOS
4. MANUAL TCNICO (CLASES Y FUNCIONES)











CDIGO FUENTE

1) //Primera ventana de presentacin (creacin del jFrame PACKET)

package javaproyecto;
import java.awt.BorderLayout;

public class PACKET extends javax.swing.JFrame {
public PACKET() {
initComponents();
setSize(500,443);
setTitle("PROYECTO");
formWindowOpened(null);

//centrar la ventana al ejecutar
setLocationRelativeTo(null);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Ventana1 escritorio= new Ventana1();
escritorio.show();
dispose();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
new PACKET().setVisible(true);
}
});
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
miPanel p = new miPanel();
this.add( p , BorderLayout.CENTER);
p.repaint();
}
}
1.1) // Creacin de una clase miPanel para darle fondo al jFrame PACKET
package javaproyecto;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;

public class miPanel extends javax.swing.JPanel {
public miPanel(){
this.setSize(483,450);
}
public void paint(Graphics g){
Dimension tamanio = getSize();
ImageIcon imagenFondo = new ImageIcon(getClass().getResource("/IMAGEN/lusailiconicstadium-0.jpg"));
g.drawImage(imagenFondo.getImage(),0,0,tamanio.width, tamanio.height, null);
setOpaque(false);
super.paintComponent(g);
}
}




2) //Segunda ventana de presentacin (creacin del jFrame Ventana1)

package javaproyecto;

import java.awt.BorderLayout;
public class Ventana1 extends javax.swing.JFrame {
public Ventana1() {
initComponents();
setSize(500,483);
setTitle("Escritorio");
formWindowOpened(null);

//centrar la ventana al ejecutar
setLocationRelativeTo(null);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Cargando inicia =new Cargando();
inicia.show();
dispose();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Ventana1().setVisible(true);
}
});
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
miPanel2 p = new miPanel2();
this.add( p , BorderLayout.CENTER);
p.repaint();
}
}



2.1) // Creacin de una clase miPanel2 para darle fondo al jFrame Ventana1

package javaproyecto;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;

public class miPanel2 extends javax.swing.JPanel {
public miPanel2(){
this.setSize(500,450);
}
public void paint(Graphics g){
Dimension tamanio = getSize();
ImageIcon imagenFondo = new ImageIcon(getClass().getResource("/IMAGEN/esc.png"));
g.drawImage(imagenFondo.getImage(),0,0,tamanio.width, tamanio.height, null);
setOpaque(false);
super.paintComponent(g);
}
}




3) //Tercera ventana de presentacin (creacin del jFrame Cargando)

package javaproyecto;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Image;
import java.awt.Toolkit;
public class Cargando extends javax.swing.JFrame {
private Timer timer;
Menu main;
int i=0;

/** Creando nuevo menu Cargando */
public Cargando() {
initComponents();
setLocationRelativeTo(null);
Image icon =
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Imagenes/Internet.png"));
setIconImage(icon);

timer = new Timer(100,new ActionListener()
{
public void actionPerformed(ActionEvent o)
{
//Contador
i+=1;

//Al progresbar se le pasa como parametro el contador
Barra.setValue(i);

//Cuando llega a 100 pone un stop
cargando();
}
});
timer.start();
}


//metodo para hacer que haga un stop antes de llegar a 100
public void cargando(){
if(Barra.getPercentComplete()==1.0){
timer.stop();
main = new Menu();
main.show();
//main.login();
this.dispose();
}
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
Cargando a;
public void run() {
new Cargando().setVisible(true);
a = new Cargando();
a.setVisible(true);
}
}

4) //Cuarta ventana de presentacin (creacin del jFrame Menu)

package javaproyecto;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.*;
import java.io.*;
public class Menu extends javax.swing.JFrame {
private int posicionSW;
private int posicionPc;
private int posicionRT;

/** Creates new form Menu */
public Menu() {
initComponents();
setLocationRelativeTo(null);
Pc1.setVisible(false);
Pc10.setVisible(false);
Pc2.setVisible(false);
Pc3.setVisible(false);
Pc4.setVisible(false);
Pc5.setVisible(false);
Pc6.setVisible(false);
Pc7.setVisible(false);
Pc8.setVisible(false);
Router1.setVisible(false);
Router5.setVisible(false);
Router3.setVisible(false);
Router2.setVisible(false);
Switch1.setVisible(false);
Switch2.setVisible(false);
Switch4.setVisible(false);
Image icon = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Imagenes/Vista.png")); setIconImage(icon);

}
private void AbrirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String Text="";
try{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir"));
fc.showOpenDialog(this);
File Abrir=fc.getSelectedFile(); //Devuelve el File que vamos a leerName
if(Abrir!=null) {
//nombre=fc.getSelectedFile().getName();
}
if(Abrir!=null) {
//Texto.setText("");
FileReader Fichero=new FileReader(Abrir);
BufferedReader leer=new BufferedReader(Fichero);
while((Text=leer.readLine())!=null) {
leer.close();}
}
}catch(IOException ioe) {
System.out.println(ioe); }
}

private void GuardarActionPerformed(java.awt.event.ActionEvent evt) {
try{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir"));
fc.showSaveDialog(this);
File Guardar =fc.getSelectedFile();
if(Guardar !=null) {
//nombre=fc.getSelectedFile().getName();
FileWriter Guardx=new FileWriter(Guardar);
//Guardx.write(Texto.getText());
Guardx.close();
}
}catch(IOException ioe) {
System.out.println(ioe); }
}

private void SalirActionPerformed(java.awt.event.ActionEvent evt) {
int slir = JOptionPane.showConfirmDialog(this, "Realmente Desea Cerrar la Aplicacion","Cerrando
Aplicacion",0,3);
if(slir==JOptionPane.OK_OPTION)
{
System.exit(0);
}
}

private void AcercaActionPerformed(java.awt.event.ActionEvent evt) {
new Ayuda().show();
}

private void btnAbrirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String Text="";
try{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir"));
fc.showOpenDialog(this);
File Abrir=fc.getSelectedFile(); //Devuelve el File que vamos a leerName
if(Abrir!=null) {
//nombre=fc.getSelectedFile().getName();
}
if(Abrir!=null) {
//Texto.setText("");
FileReader Fichero=new FileReader(Abrir);
BufferedReader leer=new BufferedReader(Fichero);
while((Text=leer.readLine())!=null) {
}
leer.close();}
}catch(IOException ioe) {
System.out.println(ioe); }
}



private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String Text="";
try{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir"));
fc.showSaveDialog(this);
File Guardar =fc.getSelectedFile();
if(Guardar !=null) {
//nombre=fc.getSelectedFile().getName();
FileWriter Guardx=new FileWriter(Guardar);
//Guardx.write(Texto.getText());
Guardx.close();}
}catch(IOException ioe) {
System.out.println(ioe); }
}

private void btnAbrir3ActionPerformed(java.awt.event.ActionEvent evt) {
LeerArchivoSecuencial leer = new LeerArchivoSecuencial();
leer.show();
}

private void btnAbrir4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir8ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir9ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir10ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir11ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnAbrir12ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void ComputadoraActionPerformed(java.awt.event.ActionEvent evt) {

posicionPc++;
switch (posicionPc) {
case 1:
Pc1.setVisible(true);
break;
case 2:
Pc2.setVisible(true);
break;
case 3:
Pc3.setVisible(true);
break;
case 4:
Pc4.setVisible(true);
break;
case 5:
Pc5.setVisible(true);
break;
case 6:
Pc6.setVisible(true);
break;
case 7:
Pc7.setVisible(true);
break;
case 8:
Pc8.setVisible(true);
break;

}

if (posicionPc >= 8) {

JOptionPane.showMessageDialog(null, "No se puede incluir mas Pc");
}
// TODO add your handling code here:
}

private void RouterActionPerformed(java.awt.event.ActionEvent evt) {
posicionRT++;
switch (posicionRT) {
case 1:
Router1.setVisible(true);
break;
case 2:
Router2.setVisible(true);
break;
case 3:
Router3.setVisible(true);
break;
}
if (posicionRT >= 3) {
JOptionPane.showMessageDialog(null, "No se puede incluir mas Router");
}
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
posicionSW++;
switch (posicionSW) {
case 1:
Switch1.setVisible(true);
break;
case 2:
Switch2.setVisible(true);
break;

}
if (posicionSW >= 2) {
JOptionPane.showMessageDialog(null, "No se puede incluir mas Switch");
}
}

private void BorrarRouterActionPerformed(java.awt.event.ActionEvent evt) {
switch (posicionPc) {
case 1:
Pc1.setVisible(false);
break;
case 2:
Pc2.setVisible(false);
break;
case 3:
Pc3.setVisible(false);
break;
case 4:
Pc4.setVisible(false);
break;
case 5:
Pc5.setVisible(false);
break;
case 6:
Pc6.setVisible(false);
break;
case 7:
Pc7.setVisible(false);
break;
case 8:
Pc8.setVisible(false);
break;

}
posicionPc--;
if (posicionPc <= 0) {

JOptionPane.showMessageDialog(null, "No se puede Eliminar mas Pc");
}
}





private void BorrarPCActionPerformed(java.awt.event.ActionEvent evt) {

switch (posicionRT) {
case 1:
Router1.setVisible(false);
break;
case 2:
Router2.setVisible(false);
break;
case 3:
Router3.setVisible(false);
break;
}
posicionRT--;
if (posicionRT <= 0) {
JOptionPane.showMessageDialog(null, "No se puede Borrar mas Router");
}
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

switch (posicionSW) {
case 1:
Switch1.setVisible(false);
break;
case 2:
Switch2.setVisible(false);
break;
}
posicionSW--;
if (posicionRT >= 0) {
JOptionPane.showMessageDialog(null, "se Elimino un Switch");
} else {
JOptionPane.showMessageDialog(null, "No se puede Borrar mas Switch");
}
}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

this.dispose();
}

private void Pc1ActionPerformed(java.awt.event.ActionEvent evt) {
CrearArchivoSecuencial ar= new CrearArchivoSecuencial();
ar.show();

}

private void Pc1MouseDragged(java.awt.event.MouseEvent evt) {
Pc1.setBounds(evt.getX(), evt.getY(), Pc1.getWidth(), Pc1.getHeight());
}

private void Pc1MousePressed(java.awt.event.MouseEvent evt) {
Pc1.setBounds(evt.getX(), evt.getY(), Pc1.getWidth(), Pc1.getHeight());
}

private void Pc1MouseClicked(java.awt.event.MouseEvent evt) {

}

private void Router1ActionPerformed(java.awt.event.ActionEvent evt) {
VentRouter ConfRt1 = new VentRouter();
ConfRt1.show();
}

private void Router1MouseDragged(java.awt.event.MouseEvent evt) {
Router1.setBounds(evt.getX(), evt.getY(), Router1.getWidth(), Router1.getHeight());
}

private void Router1MousePressed(java.awt.event.MouseEvent evt) {
Router1.setBounds(evt.getX(), evt.getY(), Router1.getWidth(), Router1.getHeight());
}

private void Switch1MouseMoved(java.awt.event.MouseEvent evt) {

}

private void Switch1MouseDragged(java.awt.event.MouseEvent evt) {
Switch1.setBounds(evt.getX(), evt.getY(), Switch1.getWidth(), Switch1.getHeight());
}

private void Switch1MousePressed(java.awt.event.MouseEvent evt) {
Switch1.setBounds(evt.getX(), evt.getY(), Switch1.getWidth(), Switch1.getHeight());
}

private void Router5MousePressed(java.awt.event.MouseEvent evt) {
Router1.setBounds(evt.getX(), evt.getY(), Router1.getWidth(), Router1.getHeight());
}

private void Router5MouseDragged(java.awt.event.MouseEvent evt) {
Router1.setBounds(evt.getX(), evt.getY(), Router1.getWidth(), Router1.getHeight());
}

private void Router5ActionPerformed(java.awt.event.ActionEvent evt) {
VentRouter ConfRt1 = new VentRouter();
ConfRt1.show();
}

private void Router2MousePressed(java.awt.event.MouseEvent evt) {
Router2.setBounds(evt.getX(), evt.getY(), Router2.getWidth(), Router2.getHeight());
}

private void Router2MouseDragged(java.awt.event.MouseEvent evt) {
Router2.setBounds(evt.getX(), evt.getY(), Router2.getWidth(), Router2.getHeight());
}

private void Router2ActionPerformed(java.awt.event.ActionEvent evt) {
VentRouter ConfRt2 = new VentRouter();
ConfRt2.show();
}

private void Router3MousePressed(java.awt.event.MouseEvent evt) {
Router3.setBounds(evt.getX(), evt.getY(), Router3.getWidth(), Router3.getHeight());
}

private void Router3MouseDragged(java.awt.event.MouseEvent evt) {
Router3.setBounds(evt.getX(), evt.getY(), Router3.getWidth(), Router3.getHeight());
}

private void Router3ActionPerformed(java.awt.event.ActionEvent evt) {
VentRouter ConfRt3 = new VentRouter();
ConfRt3.show();
}



private void Pc10MouseClicked(java.awt.event.MouseEvent evt) {

}

private void Pc10MousePressed(java.awt.event.MouseEvent evt) {
Pc1.setBounds(evt.getX(), evt.getY(), Pc1.getWidth(), Pc1.getHeight());
}

private void Pc10MouseDragged(java.awt.event.MouseEvent evt) {
Pc1.setBounds(evt.getX(), evt.getY(), Pc1.getWidth(), Pc1.getHeight());
}

private void Pc10ActionPerformed(java.awt.event.ActionEvent evt) {
CrearArchivoSecuencial ar= new CrearArchivoSecuencial();
ar.show();
}

private void Pc2MousePressed(java.awt.event.MouseEvent evt) {
Pc2.setBounds(evt.getX(), evt.getY(), Pc2.getWidth(), Pc2.getHeight()); // TODO add your
handling code here:
}

private void Pc2MouseDragged(java.awt.event.MouseEvent evt) {
Pc2.setBounds(evt.getX(), evt.getY(), Pc2.getWidth(), Pc2.getHeight());
}

private void Pc2ActionPerformed(java.awt.event.ActionEvent evt) {
CrearArchivoSecuencial ar= new CrearArchivoSecuencial();
ar.show();
}

private void Pc3MousePressed(java.awt.event.MouseEvent evt) {
Pc3.setBounds(evt.getX(), evt.getY(), Pc3.getWidth(), Pc3.getHeight());
}

private void Pc3MouseDragged(java.awt.event.MouseEvent evt) {
Pc3.setBounds(evt.getX(), evt.getY(), Pc3.getWidth(), Pc3.getHeight());
}

private void Pc3ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc3 = new VentPc();
ConfPc3.show();}
private void Pc4MousePressed(java.awt.event.MouseEvent evt) {
Pc4.setBounds(evt.getX(), evt.getY(), Pc4.getWidth(), Pc4.getHeight());
}

private void Pc4MouseDragged(java.awt.event.MouseEvent evt) {
Pc4.setBounds(evt.getX(), evt.getY(), Pc4.getWidth(), Pc4.getHeight());
}

private void Pc4ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc4 = new VentPc();
ConfPc4.show();
}

private void Pc5MousePressed(java.awt.event.MouseEvent evt) {
Pc5.setBounds(evt.getX(), evt.getY(), Pc5.getWidth(), Pc5.getHeight());
}

private void Pc5MouseDragged(java.awt.event.MouseEvent evt) {
Pc5.setBounds(evt.getX(), evt.getY(), Pc5.getWidth(), Pc5.getHeight());
}

private void Pc5ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc5 = new VentPc();
ConfPc5.show();
}

private void Pc6MousePressed(java.awt.event.MouseEvent evt) {
Pc6.setBounds(evt.getX(), evt.getY(), Pc6.getWidth(), Pc6.getHeight());
}

private void Pc6MouseDragged(java.awt.event.MouseEvent evt) {
Pc6.setBounds(evt.getX(), evt.getY(), Pc6.getWidth(), Pc6.getHeight());
}

private void Pc6ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc6 = new VentPc();
ConfPc6.show();
}

private void Pc7MousePressed(java.awt.event.MouseEvent evt) {
Pc7.setBounds(evt.getX(), evt.getY(), Pc7.getWidth(), Pc7.getHeight());
}

private void Pc7MouseDragged(java.awt.event.MouseEvent evt) {
Pc7.setBounds(evt.getX(), evt.getY(), Pc7.getWidth(), Pc7.getHeight());
}

private void Pc7ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc7 = new VentPc();
ConfPc7.show();
}

private void Pc8MousePressed(java.awt.event.MouseEvent evt) {
Pc8.setBounds(evt.getX(), evt.getY(), Pc8.getWidth(), Pc8.getHeight());
}

private void Pc8MouseDragged(java.awt.event.MouseEvent evt) {
Pc8.setBounds(evt.getX(), evt.getY(), Pc8.getWidth(), Pc8.getHeight());
}

private void Pc8ActionPerformed(java.awt.event.ActionEvent evt) {
VentPc ConfPc8 = new VentPc();
ConfPc8.show();
}

private void Switch4MousePressed(java.awt.event.MouseEvent evt) {
Switch1.setBounds(evt.getX(), evt.getY(), Switch1.getWidth(), Switch1.getHeight());
}

private void Switch4MouseDragged(java.awt.event.MouseEvent evt) {
Switch1.setBounds(evt.getX(), evt.getY(), Switch1.getWidth(), Switch1.getHeight());
}

private void Switch4MouseMoved(java.awt.event.MouseEvent evt) {

}

private void Switch2MousePressed(java.awt.event.MouseEvent evt) {
Switch2.setBounds(evt.getX(), evt.getY(), Switch2.getWidth(), Switch2.getHeight());
}

private void Switch2MouseDragged(java.awt.event.MouseEvent evt) {
Switch2.setBounds(evt.getX(), evt.getY(), Switch2.getWidth(), Switch2.getHeight());
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new Menu().setVisible(true);
}
}


5) //Quinta ventana de presentacin (creacin del jFrame Ayuda)


package javaproyecto;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.*;
import java.io.*;
public class Ayuda extends javax.swing.JFrame {
public Ayuda() {
initComponents();
setLocationRelativeTo(null);
Image icon = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Imagenes/Internet.png")); setIconImage(icon);
}
private void bntSalirActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new Ayuda().setVisible(true);
}
}











6) // Creacin de la clase CrearArchivoSecuencial

private ObjectOutputStream salida;
private IUBanco interfazUsuario;
private JButton botonIntro, botonAbrir;
// configurar GUI

public CrearArchivoSecuencial()
{
super( "LLENAR DATOS" );

// crear instancia de interfaz de usuario reutilizable
interfazUsuario = new IUBanco( 4 ); // cuatro campos de texto
getContentPane().add( interfazUsuario, BorderLayout.CENTER );

// configurar botn hacerTarea1 para usarlo en este programa
botonAbrir = interfazUsuario.obtenerBotonHacerTarea1();
botonAbrir.setText( "Crear archivo ..." );

// registrar componente de escucha para llamar a abrirArchivo cuando se oprima el botn
botonAbrir.addActionListener(

// clase interna annima para manejar evento de botonAbrir
new ActionListener() {

// llamar a abrirArchivo cuando se oprima el botn

public void actionPerformed( ActionEvent evento )
{
abrirArchivo();
}
} // fin de la clase interna annima
); // fin de la llamada a addActionListener

// configurar botn hacerTarea2 para usarlo en este programa
botonIntro = interfazUsuario.obtenerBotonHacerTarea2();
botonIntro.setText( "Salir" );
botonIntro.setEnabled( false ); // deshabilitar botn

// registrar componente de escucha para llamar a agregarRegistro cuando se oprima el botn
botonIntro.addActionListener(

// clase interna annima para manejar evento de botonIntro
new ActionListener() {

// llamar a agregarRegistro cuando se oprima el botn
public void actionPerformed( ActionEvent evento )
{
agregarRegistro();
dispose();
}
} // fin de la clase interna annima
); // fin de la llamada a addActionListener

// registrar componente de escucha de ventana para manejar evento de cierre de ventana
addWindowListener(
// clase interna annima para manejar evento windowClosing
new WindowAdapter() {
// agregar registro actual en la GUI al archivo, despus cerrar el archivo
@Override
public void windowClosing( WindowEvent evento )
{
if ( salida != null )
agregarRegistro();
cerrarArchivo();
}
} // fin de la clase interna annima
); // fin de la llamada a addWindowListener
setSize( 350, 180 );
setVisible( true );
} // fin del constructor de CrearArchivoSecuencial
// permitir al usuario especificar el nombre del archivo

private void abrirArchivo()
{
// mostrar cuadro de dilogo de archivo, para que el usuario pueda elegir el archivo a abrir
JFileChooser selectorArchivo = new JFileChooser();
selectorArchivo.setFileSelectionMode( JFileChooser.FILES_ONLY );
int resultado = selectorArchivo.showSaveDialog( this );
// si el usuario hizo clic en el botn Cancelar del cuadro de dilogo, regresar
if ( resultado == JFileChooser.CANCEL_OPTION )
return;
File nombreArchivo = selectorArchivo.getSelectedFile(); // obtener archivo seleccionado
// mostrar error si es invlido
if ( nombreArchivo == null || nombreArchivo.getName().equals( "" ) )
JOptionPane.showMessageDialog( this, "Nombre de archivo invlido",
"Nombre de archivo invlido", JOptionPane.ERROR_MESSAGE );
else {
// abrir archivo
try {
salida = new ObjectOutputStream(
new FileOutputStream( nombreArchivo ) );
botonAbrir.setEnabled( false );
botonIntro.setEnabled( true );
}
// procesar excepciones que pueden ocurrir al abrir el archivo
catch ( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "Error al abrir el archivo",
"Error", JOptionPane.ERROR_MESSAGE );
}
} // fin de instruccin else
} // fin del mtodo abrirArchivo
// cerrar archivo y terminar la aplicacin

private void cerrarArchivo()
{
// cerrar el archivo
try {
salida.close();
System.exit( 0 );
}
// procesar excepciones que pueden ocurrir al cerrar el archivo
catch( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "Error al cerrar el archivo",
"Error", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
} // fin del mtodo cerrarArchivo
// agregar registro al archivo

public void agregarRegistro()
{
int numeroCuenta = 0;
RegistroCuentas registro;
String valoresCampos[] = interfazUsuario.obtenerValoresCampos();
// si el valor del campo cuenta no est vaco
if ( ! valoresCampos[ IUBanco.CUENTA ].equals( "" ) ) {
// escribir valores en el archivo
try {
numeroCuenta = Integer.parseInt(
valoresCampos[ IUBanco.CUENTA ] );
if ( numeroCuenta > 0 ) {
// crear nuevo registro
registro = new RegistroCuentas( numeroCuenta,
valoresCampos[ IUBanco.PRIMERNOMBRE ],
valoresCampos[ IUBanco.APELLIDO ],
valoresCampos[ IUBanco.SALDO ] );
// escribir el registro y vaciar el bfer
salida.writeObject( registro );
salida.flush();
}
else
{
JOptionPane.showMessageDialog( this,
"El nmero de cuenta debe ser mayor que 0",
"Nmero de cuenta incorrecto", JOptionPane.ERROR_MESSAGE );
}
// borrar campos de texto
interfazUsuario.borrarCampos();
} // fin de bloque try
// procesar formato invlido de nmero de cuenta o saldo
catch ( NumberFormatException excepcionFormato ) {
JOptionPane.showMessageDialog( this,
"Nmero de cuenta o saldo incorrecto", "Formato de nmero incorrecto",
JOptionPane.ERROR_MESSAGE );
}
// procesar excepciones que pueden ocurrir al escribir en el archivo
catch ( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "Error al escribir en el archivo",
"Excepcin de ES", JOptionPane.ERROR_MESSAGE );
cerrarArchivo();
}
} // fin de instruccin if
} // fin del mtodo agregarRegistro




public static void main( String args[] )
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
new CrearArchivoSecuencial();
}
} // fin de la clase CrearArchivoSecuencial


7) // Creacin de la clase IUBanco

package javaproyecto;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class IUBanco extends JPanel
{
// texto de las etiquetas para la GUI

protected final static String nombres[] = { "Nmero de PC", "Direccin IP", "Mascara", "Gateway" };

// componentes de GUI; protegidos para el acceso futuro de las subclases
protected JLabel etiquetas[];
protected JTextField campos[];
protected JButton hacerTarea1, hacerTarea2;
protected JPanel panelInternoCentro, panelInternoSur;
protected int tamanio; // nmero de campos de texto en la GUI
/
/ constantes que representan a los campos de texto en la GUI
public static final int CUENTA = 0, PRIMERNOMBRE = 1, APELLIDO = 2,
SALDO = 3, TRANSACCION = 4;
// Configurar GUI. El argumento miTamanio del constructor determina el nmero de
// filas de componentes de GUI.

public IUBanco( int miTamanio )
{
tamanio = miTamanio;
etiquetas = new JLabel[ tamanio ];
campos = new JTextField[ tamanio ];
// crear etiquetas
for ( int cuenta = 0; cuenta < etiquetas.length; cuenta++ )
etiquetas[ cuenta ] = new JLabel( nombres[ cuenta ] );
// crear campos de texto
for ( int cuenta = 0; cuenta < campos.length; cuenta++ )
campos[ cuenta ] = new JTextField();
// crear panel para distribuir etiquetas y campos
panelInternoCentro = new JPanel();
panelInternoCentro.setLayout( new GridLayout( tamanio, 2 ) );
// adjuntar etiquetas y campos a panelInternoCentro
for ( int cuenta = 0; cuenta < tamanio; cuenta++ ) {
panelInternoCentro.add( etiquetas[ cuenta ] );
panelInternoCentro.add( campos[ cuenta ] );
}
// crear botones genricos; sin etiquetas ni manejadores de eventos
hacerTarea1 = new JButton();
hacerTarea2 = new JButton();
// crear panel para distribuir los botones y adjuntarlos
panelInternoSur = new JPanel();
panelInternoSur.add( hacerTarea1 );
panelInternoSur.add( hacerTarea2 );
// establecer esquema de este contenedor y adjuntarle los paneles
setLayout( new BorderLayout() );
add( panelInternoCentro, BorderLayout.CENTER );
add( panelInternoSur, BorderLayout.SOUTH );
validate(); // validar esquema
} // fin del constructor
// devolver referencia al botn de tarea genrico hacerTarea1
public JButton obtenerBotonHacerTarea1()
{
return hacerTarea1;
}
// devolver referencia al botn de tarea genrico hacerTarea2
public JButton obtenerBotonHacerTarea2()
{
return hacerTarea2;
}
// devolver referencia al arreglo campos de objetos JTextField
public JTextField[] obtenerCampos()
{
return campos;
}
// borrar el contenido de los campos de texto
public void borrarCampos()
{
for ( int cuenta = 0; cuenta < tamanio; cuenta++ )
campos[ cuenta ].setText( "" );
}
// establecer valores de los campos de texto; lanzar IllegalArgumentException si
// hay un nmero incorrecto de objetos String en el argumento
public void establecerValoresCampos( String cadenas[] )
throws IllegalArgumentException
{
if ( cadenas.length != tamanio )
throw new IllegalArgumentException( "Debe haber " +
tamanio + " objetos String en el arreglo" );
for ( int cuenta = 0; cuenta < tamanio; cuenta++ )
campos[ cuenta ].setText( cadenas[ cuenta ] );
}
// obtener arreglo de objetos String con el contenido actual de los campos de texto
public String[] obtenerValoresCampos()
{
String valores[] = new String[ tamanio ];
for ( int cuenta = 0; cuenta < tamanio; cuenta++ )
valores[ cuenta ] = campos[ cuenta ].getText();
return valores;
}
} // fin de la clase IUBanco


8) // Creacin de la clase IUBanco

package javaproyecto;
import java.io.Serializable;

public final class RegistroCuentas implements Serializable
{
private int pc;
private String ip;
private String mascara;
private String gateway;


// el constructor sin argumentos llama al otro constructor con valores predeterminados
public RegistroCuentas()
{
this( 0, "", "", "" );
}
// inicializar un registro
public RegistroCuentas( int cta, String nombre, String apellido, String sald )
{
establecerCuenta( cta );
establecerPrimerNombre( nombre );
establecerApellidoPaterno( apellido );
establecerSaldo( sald );
}
// establecer nmero de cuenta
public void establecerCuenta( int cta )
{
pc = cta;
}
// obtener nmero de cuenta
public int obtenerCuenta()
{
return pc;
}
// establecer primer nombre
public void establecerPrimerNombre( String nombre )
{
ip = nombre;
}
// obtener primer nombre
public String obtenerPrimerNombre()
{
return ip;
}
// establecer apellido paterno
public void establecerApellidoPaterno( String apellido )
{
mascara = apellido;
}
// obtener apellido paterno
public String obtenerApellidoPaterno()
{
return mascara;
}
// establecer saldo
public void establecerSaldo( String sald )
{
gateway = sald;
}
// obtener saldo
public String obtenerSaldo()
{
return gateway;
}
} // fin de la clase RegistroCuentas


9) // Creacin de la clase LeerArchivoSecuencial

package javaproyecto;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;
import javax.swing.*;
public class LeerArchivoSecuencial extends JFrame
{
private ObjectInputStream entrada;
private IUBanco interfazUsuario;
private JButton botonSiguiente, botonAbrir;

// Constructor -- inicializar el marco
public LeerArchivoSecuencial()
{
super( "Leer archivo " );

// crear instancia de la interfaz de usuario reutilizable
interfazUsuario = new IUBanco( 4 ); // cuatro campos de texto
getContentPane().add( interfazUsuario, BorderLayout.CENTER );

// obtener referencia al botn de tarea genrico hacerTarea1 de IUBanco
botonAbrir = interfazUsuario.obtenerBotonHacerTarea1();
botonAbrir.setText( "Abrir archivo" );

// registrar componente de escucha para llamar a abrirArchivo cuando se oprima el botn
botonAbrir.addActionListener(

// clase interna annima para manejar evento de botonAbrir
new ActionListener() {

// cerrar archivo y terminar la aplicacin
@Override
public void actionPerformed( ActionEvent evento )
{
abrirArchivo();
}
} // fin de la clase interna annima
); // fin de la llamada a addActionListener

// registrar componente de escucha de ventana para evento de cierre de ventana
addWindowListener(

// clase interna annima para manejar evento windowClosing
new WindowAdapter() {

// cerrar el archivo y terminar la aplicacin
@Override
public void windowClosing( WindowEvent evento )
{
if ( entrada != null )
cerrarArchivo();

System.exit( 0 );
}
} // fin de la clase interna annima
); // fin de la llamada a addWindowListener

// obtener referencia al botn de tarea genrico hacerTarea2 de IUBanco
botonSiguiente = interfazUsuario.obtenerBotonHacerTarea2();
botonSiguiente.setText( "Siguiente registro" );
botonSiguiente.setEnabled( false );

// registrar componente de escucha para llamar a leerRegistro cuando se oprima el botn
botonSiguiente.addActionListener(

// clase interna annima para manejar evento de siguienteRegistro
new ActionListener() {

// llamar a leerRegistro cuando el usuario haga clic en siguienteRegistro
@Override
public void actionPerformed( ActionEvent evento )
{
leerRegistro();
}
} // fin de la clase interna annima
); // fin de la llamada a addActionListener
pack();
setSize( 350, 170 );
setVisible( true );
} // fin del constructor de LeerArchivoSecuencial

// permitir al usuario seleccionar el archivo a abrir
private void abrirArchivo()
{
// mostrar el cuadro de dilogo del archivo, para que el usuario pueda seleccionar el archivo a
abrir
JFileChooser selectorArchivo = new JFileChooser();
selectorArchivo.setFileSelectionMode( JFileChooser.FILES_ONLY );

int resultado = selectorArchivo.showOpenDialog( this );

// si el usuario hizo clic en el botn Cancelar en el cuadro de dilogo, regresar
if ( resultado == JFileChooser.CANCEL_OPTION )
return;

// obtener el archivo seleccionado
File nombreArchivo = selectorArchivo.getSelectedFile();

// mostrar error si el nombre de archivo es incorrecto
if ( nombreArchivo == null || nombreArchivo.getName().equals( "" ) )
JOptionPane.showMessageDialog( this, "Nombre de archivo incorrecto",
"Nombre de archivo incorrecto", JOptionPane.ERROR_MESSAGE );

else {

// abrir archivo
try {
entrada = new ObjectInputStream(
new FileInputStream( nombreArchivo ) );

botonAbrir.setEnabled( false );
botonSiguiente.setEnabled( true );
}

// procesar excepciones que pueden ocurrir al abrir el archivo
catch ( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "Error al abrir el archivo",
"Error", JOptionPane.ERROR_MESSAGE );
}
} // fin de instruccin else
} // fin del mtodo abrirArchivo

// leer registro del archivo
public void leerRegistro()
{
RegistroCuentas registro;

// leer los valores del archivo
try {
registro = ( RegistroCuentas ) entrada.readObject();

// crear arreglo de objetos String a mostrar en la GUI
String valores[] = { String.valueOf( registro.obtenerCuenta() ),
registro.obtenerPrimerNombre(), registro.obtenerApellidoPaterno(),
registro.obtenerSaldo() };

// mostrar contenido del registro
interfazUsuario.establecerValoresCampos( valores );

}
// mostrar mensaje al llegar al fin del archivo
catch ( EOFException excepcionFinDeArchivo ) {
botonSiguiente.setEnabled( false );

JOptionPane.showMessageDialog( this, "No hay ms registros en el archivo",
"Fin del archivo", JOptionPane.ERROR_MESSAGE );
dispose();
}

// mostrar mensaje de error si no se encuentra la clase
catch ( ClassNotFoundException excepcionClaseNoEncontrada ) {
JOptionPane.showMessageDialog( this, "No se pudo crear el objeto",
"Clase no encontrada", JOptionPane.ERROR_MESSAGE );
}
// mostrar mensaje de error si no se puede leer debido a un problema con el archivo
catch ( IOException excepcionES ) {
JOptionPane.showMessageDialog( this,
"Error al leer del archivo",
"Error de lectura", JOptionPane.ERROR_MESSAGE );
}
} // fin del mtodo leerRegistro

// cerrar archivo y terminar la aplicacin
private void cerrarArchivo()
{
// cerrar archivo y salir
try {
entrada.close();
System.exit( 0 );
}
// procesar excepcin que puede ocurrir mientras se cierra el archivo
catch ( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "Error al cerrar el archivo",
"Error", JOptionPane.ERROR_MESSAGE );

System.exit( 1 );
}
} // fin del mtodo cerrarArchivo

public static void main( String args[] )
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
new LeerArchivoSecuencial();
}

} // fin de la clase LeerArchivoSecuencial




MANUAL DE USUARIO

1) Este programa sirve para crear simulaciones de redes. Empezamos ejecutando el archivo
JavaProyecto y se abre esta ventana Seleccionamos el botn ingresar.




2) Se abre otra ventana con aspecto de escritorio Damos click en el icono del programa.



3) Esperamos que cargue y listo el Simulador est preparado para ser utilizado.























4) Para armar una pequea subred utilizaremos dos concentradores (switch y router).
Para crear estos concentradores damos click en las imgenes que se encuentran en la
parte inferior izquierda del panel y as aparecern en el rea de trabajo listas para poder
ser manipuladas.




5) Para borrar los elementos ya sea las PC o los concentradores, nos vamos a la parte inferior
derecha del panel y observamos que queremos borrar, por ende el elemento desaparece
del rea del trabajo.








6) Para configurar las PC damos click en ellas, se abrir una ventana que nos pedir llenar
datos como: IP, MASCARA, GATEWAY.
Estos datos se crearan y guardaran en un archivo.
NOTA: Los datos deben estar lleno correctamente sino saldr un mensaje de error.




7) Para ver las configuraciones que se han hecho en las PC, nos vamos a la parte superior del
panel y damos click en el siguiente icono.







8) Para cerrar el programa nos vamos a la opcin salir, listo ya ests preparado para realizar
tu propia simulacin de red.

























DICCIONARIO DE DATOS

















MANUAL TCNICO
(Clases y Funciones)

1) Hemos creado la clase mi Panel y miPanel2 , para dar imagen a los JFrame (Ventana1
y Packet), en las clase colocamos el siguiente cdigo:

package javaproyecto;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;

public class miPanel extends javax.swing.JPanel {

public miPanel(){
this.setSize(400,280);
}

@Override
public void paint(Graphics g){
Dimension tamanio = getSize();
ImageIcon imagenFondo = new
ImageIcon(getClass().getResource("/imagenes/casalibertad.jpg"));
g.drawImage(imagenFondo.getImage(),0,0,tamanio.width,
tamanio.height, null);
setOpaque(false);
super.paintComponent(g);
}

}

Explicacin: lo que hacemos es crear un JPanel propio, al cual le sobre escribimos el mtodo
paint () y especificamos la direccin de nuestra imagen, al estar nuestra imagen en un paquete de
nuestro proyecto, no necesitamos utilizar una direccin absoluta, sino al contrario usamos
getResource para obtener el recurso que ya tenemos empaquetado, del mismo modo en el
constructor de nuestra clase mi panel, especificamos el tamao de la imagen.
Ahora en nuestro JFrame que creamos (Ventana1 y Packet), haremos uso de
import java.awt.BorderLayout, a nuestra jFrame le aadimos el evento WindowOpened y
colocamos el siguiente cdigo:


private void formWindowOpened(java.awt.event.WindowEvent evt) {
miPanel p = new miPanel();
this.add( p , BorderLayout.CENTER);
p.repaint();
}





2) La clase CrearArchivoSecuencial es utilizamos para crear un archivo donde se va
almacenar todos los datos. Creamos un atributo tipo clase de IUBanco.

Las funciones con la que hemos trabajo son:

private void abrirArchivo(): En esta funcin usamos el JFileChooser que nos
mostrara el cuadro de dilogo de archivo, para que el usuario pueda elegir el
archivo a abrir.

public void agregarRegistro(): Dentro de esta funcin creamos un objeto de
tipo RegistroCuenta para poder llenar los atributos de dicha clase.

private void cerrarArchivo(): Esta funcin es para cerrar el cuadro de dilogo.

3) La clase IUBanco es utilizado para crear la vista de ambiente grfico para los
usuarios.
4) La clase RegistroCuentas es utilizado para especificar los tipos de datos que se
usan para llenar los atributos.
Las funciones con la que hemos trabajo son:

public void establecerCuenta( int cta )
public void establecerPrimerNombre( String nombre )
public void establecerApellidoPaterno( String apellido )
public void establecerSaldo( String sald )

5) La clase LeerArchivoSecuencial es utilizado para buscar y leer un archivo

private void abrirArchivo(): En esta funcin usamos el JFileChooser que
nos mostrara el cuadro de dilogo de archivo, para que el usuario pueda
elegir el archivo a abrir.

public void leerRegistro(): Esta funcin lo utilizamos para leer los valores
del archivo utilizando el mtodo readObject().
private void cerrarArchivo(): Esta funcin es para cerrar el cuadro de
dilogo.

Das könnte Ihnen auch gefallen