Desarrollo de Interfaz Gráfica para Cliente FTP en Java Swing

Informática y Telecomunicaciones5,46 KB

Código Fuente de Interfaz FTP en Java Swing

A continuación se presenta el código fuente corregido y optimizado para una aplicación de escritorio desarrollada en Java utilizando la librería Swing para la gestión de interfaces gráficas de usuario (GUI).

Definición de la Clase y Componentes

package trabajos;

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

public class interfaz extends JFrame // implements ActionListener
{
    JMenuBar menuBar1 = new JMenuBar();
    JMenu menuArchivo = new JMenu();
    JMenuItem menuArchivoSalir = new JMenuItem();
    JMenu menuAyuda = new JMenu();
    JMenuItem menuAyudaInfo = new JMenuItem();

    JLabel statusBar = new JLabel();
    JLabel EtiqIP = new JLabel();
    JLabel EtiqArch = new JLabel();
    JLabel EtiqGuar = new JLabel();
    private JTextField IP = new JTextField();
    JTextField Archivo = new JTextField();
    JTextField Guardar = new JTextField();
    JButton Trans = new JButton();
    Checkbox interrup = new Checkbox("interrumpir la transferencia");

Constructor de la Interfaz

    public interfaz()
    {
        // Para la creación de la apariencia de Windows
        setTitle("FTP");
        getContentPane().setLayout(null);
        addWindowListener(new WindowAdapter()
        {public void windowClosing(WindowEvent e){salir();}});
        setResizable(false);
        setSize(460, 260);
        setLocation(350, 200);

        EtiqIP.setText("Dirección IP del servidor:");
        EtiqIP.setBounds(15, 10, 150, 20);
        EtiqArch.setText("Nombre de archivo:");
        EtiqArch.setBounds(15, 110, 150, 40);
        EtiqGuar.setText("Guardar como:");
        EtiqGuar.setBounds(15, 110, 150, 40);

        IP.setText("127.0.0.1");
        IP.setBounds(13, 30, 200, 25);
        Archivo.setBounds(13, 95, 300, 25);
        Guardar.setBounds(13, 140, 300, 25);

        Trans.setText("Transferir");
        Trans.setBounds(250, 30, 100, 25);
        // Trans.addActionListener(this);

        interrup.setBounds(250, 60, 250, 25);

        statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
        statusBar.setBounds(0, 180, 453, 24);
        statusBar.setText("Diferencia de archivos");

        // Creación de menús

        menuArchivo.setText("Archivo");
        menuArchivoSalir.setText("Salir");
        // menuArchivoSalir.addActionListener(this);
        menuAyuda.setText("Ayuda");
        menuAyudaInfo.setText("Información");
        // menuAyudaInfo.addActionListener(this);
        menuArchivo.add(menuArchivoSalir);
        menuAyuda.add(menuAyudaInfo);
        menuBar1.add(menuArchivo);
        menuBar1.add(menuAyuda);
        this.setJMenuBar(menuBar1);

        // Se agregan objetos
        this.getContentPane().add(statusBar, null);
        this.getContentPane().add(interrup, null);
        this.getContentPane().add(Archivo, null);
        this.getContentPane().add(Guardar, null);
        this.getContentPane().add(EtiqIP, null);
        this.getContentPane().add(EtiqArch, null);
        this.getContentPane().add(EtiqGuar, null);
        this.getContentPane().add(IP, null);
        this.getContentPane().add(Trans, null);
        show();
    }

Manejo de Eventos y Ventanas

    public void ActionPerformed(ActionEvent e)
    {
        if(e.getSource().equals(menuArchivoSalir) == true)
        {
            System.exit(0);
        }
            // Para la información en el menú de ayuda

            if(e.getSource().equals(menuAyudaInfo) == true)
            {
                JFrame dlg = new JFrame();
                JLabel Etiqueta1 = new JLabel();
                JLabel Etiqueta2 = new JLabel();
                JLabel Etiqueta3 = new JLabel();
                JLabel Etiqueta4 = new JLabel();

                dlg.setSize(230, 200);
                dlg.setLocation(400, 300);
                dlg.setTitle("Información");
                dlg.getContentPane().setLayout(null);

                addWindowListener(new WindowAdapter()
                {public void windowClosing(WindowEvent e){System.exit(0);}});

                dlg.setResizable(false);
                Etiqueta1.setText("Realizado por:");
                Etiqueta2.setText("Rigolee");
                Etiqueta3.setText("Materia:");
                Etiqueta1.setText("Lenguaje de programación:");
                Etiqueta1.setBounds(35, 30, 180, 30);
                Etiqueta2.setBounds(55, 50, 180, 30);
                Etiqueta3.setBounds(35, 30, 180, 30);
                Etiqueta4.setBounds(55, 100, 180, 30);
                dlg.getContentPane().add(Etiqueta1);
                dlg.getContentPane().add(Etiqueta2);
                dlg.getContentPane().add(Etiqueta3);
                dlg.getContentPane().add(Etiqueta4);
                dlg.show();
            }
            // Llama a la función del cliente

            if(e.getSource().equals(Trans) == true)
            {
            }
        }

         private void salir()
        {
            System.exit(0);
        }

Método Principal (Main)

        public static void main(String []args)
        {
            try{
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            }
            catch(Exception e)
            {
                JOptionPane.showMessageDialog(null, "No se puede crear apariencia", "Error", JOptionPane.ERROR_MESSAGE);
            }

            interfaz aplication = new interfaz();
        }
  }

Descargar

PDF Word HTML