Desarrollo de Interfaz Gráfica para Cliente FTP en Java Swing
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();
}
}