Como fazer upload de uma imagem em um aplicativo de desktop em java

Carregar uma imagem em um aplicativo de desktop em Java

Java vem com um conjunto integrado de ferramentas para lidar com conexões de rede e ambos os ler e gravar dados para um servidor, desde que você use protocolos padrão da Internet como HTTP e FTP. Em poucos passos, você pode criar uma aplicação rápida, com uma interface gráfica do usuário, que irá fazer upload de imagens para um servidor FTP existente.

  • Abra o seu editor de texto favorito do ambiente de desenvolvimento Java e cole o seguinte para ele:

    importação java.awt.GridLayout;

    importação java.awt.Label;

    importação java.awt.event.ActionEvent;

    importação java.awt.event.ActionListener;

    importação java.io.BufferedOutputStream;

    importação java.io.File;

    importação java.io.FileInputStream;

    importação java.net.URL;

    importação java.net.URLConnection;

    importar javax.swing. *;

    classe pública UploadForm estende JFrame implementa ActionListener {

    arquivo de imagem;

    servidor JTextField = new JTextField ("");

    JTextField username = new JTextField ("");

    JTextField imagepath = new JTextField ("");

    JButton imageBrowse = new JButton ("encontrar imagem");

    password JPasswordField = new JPasswordField ("");

    JButton uploadButton = new JButton ("Envio");

    public void actionPerformed (ActionEvent ae) {

    }

    UploadForm pública () {

    }

    main (String [] args) public static void {

    }

    }

    Esta simples importações classe esqueleto todas as classes que serão necessários a partir das bibliotecas Java padrão, define os três métodos que o aplicativo usará, e cria os elementos da interface do usuário necessários.

  • Cole o seguinte no "a Principal" Método:

     JFrame f = new UploadForm ();

    f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

    f.setVisible (true) -

    programadores Java experientes irão reconhecer este como o método padrão que fornece a entrada em seu programa a partir do sistema operacional. Neste caso, ele faz muito pouco: ele cria a estrutura que mantém a interface gráfica do usuário, garante que o programa será encerrado quando o usuário fecha o quadro, e faz o quadro visível para o usuário.

  • Cole o seguinte no "UploadForm" construtor (o "UploadForm ()" Método):

     imageBrowse.addActionListener (this);

    uploadButton.addActionListener (this);

    this.setSize (640,100);

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

    this.add (imagepath);



    this.add (imageBrowse);

    this.add (new Label ("Servidor"));

    this.add (servidor);

    this.add (new Label ("Nome de usuário"));

    this.add (nome de usuário);

    this.add (new Label ("Senha"));

    this.add (password);

    this.add (uploadButton) -

    Isso configura o visual da interface gráfica do usuário usando o "GridLayout" Gerente. Em primeiro lugar, os dois botões na interface do usuário é dito para enviar eventos de ação para este programa de "ação executada" Método. Em seguida, o gerente GridLayout é configurado para organizar os elementos de interface do usuário em uma grade com duas colunas e um número ilimitado de linhas. E, finalmente, todos os elementos da interface do usuário são adicionados. A ordem importa: o GridLayout começa na posição da grelha superior mais à esquerda e enche toda a linha antes de descer para a próxima linha.

  • Cole o seguinte no "ação executada" Método:

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

    Cordas;

    JFileChooser jfc = new JFileChooser ();

    jfc.showDialog (jfc, "Escolha um arquivo de imagem");

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

    imagePath.setText (s);

    } outro

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

    experimentar {

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

    Cordas urlString = "ftp: //" Username.getText + () + ":" Password.getText + () + "@" Server.getText + () + "/" F.getName + ();

    URL url = new URL (urlString);

    conexão URLConnection = url.openConnection ();

    connection.setDoOutput (true);

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

    FileInputStream in = new FileInputStream (f);

    byte [] tampão = new byte [1024];

    int i = 0;

    while ((i = in.read (buffer)) gt; = 0) {

    out.write (tampão, 0, i);

    }

    out.close ();

    in.close ();

    } Catch (Exception e) {

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

    }

    }

    Este método é um pouco complexo, porque o método actionPerformed tem que fazer duas coisas. Se o "imageBrowse" botão é clicado, ele deve apresentar aos usuários uma janela de seleção de arquivos para permitir que eles para selecionar um arquivo de imagem do seu disco rígido. E, por outro lado, se o "uploadButton" é clicado, ele deve abrir o arquivo selecionado com o navegador da imagem, abrir uma conexão FTP para um servidor (usando a classe URLConnection), e gravar os dados do arquivo para o servidor web.

dicas & avisos

  • Este código é funcional, mas lotes de verificação de erros é deixado de fora, a fim de chegar à tarefa em mãos. nomes de arquivos sem sentido e nomes de servidor maus não são verificadas para.
De esta maneira? Compartilhar em redes sociais:

LiveInternet