Tecnología

Inicio

Cómo colgar una fotografía de una aplicación de escritorio en Java

Cómo colgar una fotografía de una aplicación de escritorio en Java


Java viene con un conjunto integrado de herramientas para el manejo de conexiones de red y ambos leer y escribir datos a un servidor, siempre y cuando utilice protocolos estándar de Internet como HTTP y FTP. En unos pocos pasos, puede crear una aplicación rápida, con una interfaz gráfica de usuario, que va a subir imágenes a un servidor FTP existente.

Instrucciones

1 Abra su editor de texto favorito del entorno de desarrollo Java y pega el siguiente en él:

java.awt.GridLayout importación;

java.awt.Label importación;

java.awt.event.ActionEvent importación;

java.awt.event.ActionListener importación;

java.io.BufferedOutputStream importación;

java.io.File importación;

java.io.FileInputStream importación;

java.net.URL importación;

java.net.URLConnection importación;

importar javax.swing. *;

UploadForm clase pública se extiende JFrame implementa ActionListener {

File image;

JTextField servidor = new JTextField ( "");

JTextField nombre de usuario = new JTextField ( "");

JTextField imagePath = new JTextField ( "");

JButton imageBrowse = new JButton ( "Encontrar imagen");

JPasswordField password = nueva JPasswordField ( "");

JButton uploadButton = new JButton ( "Subir");

public void actionPerformed (ActionEvent ae) {

}

UploadForm pública () {

}

principales argumentos (String []) {public static void

}

}

Este simple esqueleto importa la clase de todas las clases que serán necesarios a partir de las bibliotecas estándar de Java, se definen los tres métodos que utilizará la aplicación, y crea los elementos de la interfaz de usuario necesarios.

2 Pegue lo siguiente en el método "principal":

JFrame f = new UploadForm();

f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

f.setVisible (true);

Los programadores de Java experimentados reconocerán esto como el método estándar que proporciona la entrada en su programa del sistema operativo. En este caso, lo hace muy poco: se crea el marco que sostiene la interfaz gráfica de usuario, asegura que el programa se cerrará cuando el usuario cierra el cuadro y hace que el marco visible para el usuario.

3 Pegue el siguiente en el constructor "UploadForm" (el método "UploadForm ()"):

imageBrowse.addActionListener(this);

uploadButton.addActionListener (this);

this.setSize (640,100);

this.setLayout (nueva GridLayout (0,2));

this.add (imagePath);

this.add (imageBrowse);

this.add (nueva etiqueta ( "Servidor"));

this.add (servidor);

this.add (nueva etiqueta ( "nombre de usuario"));

this.add (nombre de usuario);

this.add (nueva etiqueta ( "contraseña"));

this.add (contraseña);

this.add (uploadButton);

Esto hace que el aspecto de la interfaz gráfica de usuario mediante el gestor de "GridLayout". En primer lugar, los dos botones de la interfaz de usuario se les dice para enviar eventos de acción con el método "actionPerformed" de este programa. A continuación, el gestor de GridLayout está configurado para disponer los elementos de la interfaz de usuario en una cuadrícula con dos columnas y un número ilimitado de filas. Y, por último, se añaden todos los elementos de la interfaz de usuario. El orden importa: el GridLayout comienza en la posición de inicio más a la izquierda de la red y llena toda la fila antes de pasar a la siguiente fila.

4 Pegue lo siguiente en el método "actionPerformed":

if (ae.getSource().equals(imageBrowse)) {

S de la secuencia;

JFileChooser jfc = new JFileChooser ();

jfc.showDialog (JFC, "Elegir un archivo de imagen");

s = jfc.getSelectedFile () getAbsolutePath (.);

imagePath.setText (s);

} else

if (ae.getSource (). equals ()) {uploadButton

tratar {

File f = new File (imagePath.getText ());

UrlString cadena = "ftp: //" + username.getText () + ":" + password.getText () + "@" + server.getText () + "/" + f.getName ();

URL url = new URL (urlString);

conexión URLConnection = url.openConnection ();

connection.setDoOutput (true);

BufferedOutputStream cabo = new BufferedOutputStream (connection.getOutputStream ());

FileInputStream in = nueva FileInputStream (f);

byte [] buffer = nuevo byte [1024];

int i = 0;

while ((i = in.read (buffer))> = 0) {

out.write (buffer, 0, i);

}

out.close ();

cercar();

} Catch (Exception e) {

System.out.println (e.getMessage ());

}

}

Este método es un poco más compleja, ya que el método actionPerformed tiene que hacer dos cosas. Si se hace clic en el botón "imageBrowse", debe presentar a los usuarios un cuadro de diálogo de selección de archivos para que puedan seleccionar un archivo de imagen de su disco duro. Y, por otro lado, si se hace clic en el "uploadButton", debe abrir el archivo seleccionado con el navegador de imágenes, abrir una conexión FTP a un servidor (utilizando la clase URLConnection), y escribir los datos del archivo a la web servidor.

Consejos y advertencias

  • Este código es funcional, pero un montón de comprobación de errores se deja a cabo con el fin de llegar a la tarea en cuestión. nombres de archivo sin sentido y nombres de servidor malos no se comprueba.