Construindo uma aplicação JDialog

Já imaginou desenvolver uma aplicação semelhante ao XDialog, Kdialog ou Gdialog? Neste artigo vamos ver como estes dialogs funcionam e construiremos o nosso próprio em Java. Espero que gostem!

[ Hits: 31.323 ]

Por: Allan kardec Santos Oliveira em 05/05/2007


Funcionamento



O sistema começa ser executado pelo método main, este vai chamar o método jdialog() e passará os argumentos de linha de comando. O método jdialog, por sua vez, analisará os argumentos e caso estejam incorretos, chamará o método parametroinvalido. O método parametroinvalido exibirá uma mensagem de advertência do erro e mostrará também como usar o jdialog.

Caso os argumentos analisados pelo método jdialog estejam corretos, será chamado o método solicitado de acordo com o argumento, no caso (opendialog, yesno, opendialog, savedialog, msgbox, erromsgbox). No final da execução, o método jdialog fará uma verificação na variável retorno, e se a mesma não estiver vazia ou null, será exibida como retorno no shell.

Código completo da classe jdialog

import javax.swing.*;
import java.lang.String.*;
import java.io.*;
public class jdialog {
  public String retorno;
  public jdialog(String arg[]){
    retorno="";
    if (arg.length==0){      //testa se foi digitado algum parâmetro, caso contrario chama método
      parametroInvalido();  //parametroinvalido e fecha o programa.
      System.exit(0);
    }
    if (arg.length<3)  //verifica se a opção requisitada é opendialog, savedialog ou inputbox
                                //pois estas podem ser executadas somente com dois paramentos
      if (!(arg[0].equals("--opendialog") || arg[0].equals("--savedialog") || (arg[0].equals("--inputbox")))){
        parametroInvalido();
        System.exit(0);
      }  
// Este bloco testa qual opção escolhida e chama o método requisitado //
    if (arg[0].equals("--erromsgbox"))
      erromsgbox(arg[1],arg[2]);
    if (arg[0].equals("--msgbox"))
      msgbox(arg[1],arg[2]);
    if (arg[0].equals("--inputbox"))
      if (arg.length==3)
        inputbox(arg[1],arg[2]);
      else
        inputbox(arg[1],"");
    if (arg[0].equals("--yesno"))
      yesno(arg[1],arg[2]);
    if (arg[0].equals("--opendialog"))
      opendialog();
    if (arg[0].equals("--savedialog"))
      savedialog();
    if (retorno!=null && retorno!="" && !retorno.equals("null"))
      System.out.println(retorno);
    System.out.exit(0);
  }
  //------------------------------------------------------//
  public void inputbox(String text, String val_padrao){//chama a caixa inputdialog e guarda o retorno
    retorno=JOptionPane.showInputDialog(text,val_padrao);  // na variável retorno.
  }
  //------------------------------------------------------//
  public void msgbox(String text, String titulo){ //chama a caixa MessageDialog
    JOptionPane.showMessageDialog(null,text,titulo,JOptionPane.INFORMATION_MESSAGE);
  }
  //------------------------------------------------------//
  public void erromsgbox(String text, String titulo){ //chama a caixa MessageDialog com ícone de erro
    JOptionPane.showMessageDialog(null,text,titulo,JOptionPane.ERROR_MESSAGE);
  }

  //-------------------------------------------------------//
  public void yesno(String text, String titulo){ //chama a caixa de confirmação, colocando a resposta
                                                                        // na variável retorno
    retorno=""+JOptionPane.showConfirmDialog(null,text,titulo,JOptionPane.YES_NO_OPTION);
  }
  //--------------------------------------------------------//
  public void opendialog(){
    JFileChooser opendlg = new JFileChooser(); //cria opendlg
    opendlg.setFileSelectionMode(JFileChooser.FILES_ONLY); //configura para selecionar somente arquivos
    opendlg.showOpenDialog(opendlg); //abre a caixa opendlg
    retorno=""+opendlg.getSelectedFile(); //recupera o arquivo selecionado
   //obs.: concatenei "" com opendlg.getSelectedFile() para se transformar em uma string já que
   //getSelectedFile() é do tipo File;
   }
  //---------------------------------------------------------//
  public void savedialog(){
    JFileChooser savedlg = new JFileChooser(); //cria savedlg
    savedlg.setFileSelectionMode(JFileChooser.FILES_ONLY); //configura para selecionar somente arquivos
    savedlg.showSaveDialog(savedlg); //abre a caixa sa
    retorno=""+savedlg.getSelectedFile();
   //obs.: concatenei "" com opendlg.getSelectedFile() para se transformar em um string já que
   //getSelectedFile() é do tipo File;
  }

  //----------------------------------------------------------//
  public void parametroInvalido(){ //mostra advertência na tela e como se deve utilizar o jdialog
    System.out.println("");
    System.out.println("");
    System.out.println("");
    System.out.println("Jdialog versão 1.0");
    System.out.println("*********Parâmetro invalido!***********");
    System.out.println("Use :");
    System.out.println("     jdialog --erromsgbox <texto> <titulo>        Caixa de mensagem de erro    ");
    System.out.println("     jdialog --msgbox <texto> <titulo>            Caixa de mensagem            ");
    System.out.println("     jdialog --inputbox <texto> <val_padrao>      Caixa de entrada de dados    ");
    System.out.println("     jdialog --yesno <texto> <titulo>             Confirmação com botões yes/no");
    System.out.println("     jdialog --opendialog                         Janela para abrir arquivos   ");  
    System.out.println("     jdialog --savedialog                         Janela para salvar arquivos  ");
    System.out.println("");
  }
  public static void main(String args[]){
  jdialog j = new jdialog(args);
  }
}
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Funcionamento
   3. Criando um arquivo shell script para executar nossa classe
   4. Criando um shell script que utilize o aplicativo jdialog
Outros artigos deste autor

Java Native Interface

Emulando o Internet Explorer no Slackware

Criando classe Java para conectar e manipular dados no MySQL

Leitura recomendada

Desenvolvendo aplicações em J2ME no Linux

As novidades do Java 1.5

Programando em Java para Console

Declaração de IRPF 2006 pelo Linux

Gerando arquivos PDF com Java e iText

  
Comentários
[1] Comentário enviado por GilsonDeElt em 05/05/2007 - 23:14h

Boa noite.
Cara, ainda não li todo seu artigo, e não entendo muito de Java, mas pelo que li já percebi que você fez uma grande contribuição à comunidade!!!
Até onde vi, tá tudo muito bem explicado.
Quando eu terminar de ler, ponho mais comentários.
Valeu!!!

[2] Comentário enviado por sombriks em 06/05/2007 - 00:13h

Parabéns, vc acabou de aumentar a família Dialog, :D

[3] Comentário enviado por super-root em 07/05/2007 - 09:20h

Olá pessoal, existe uma falha de digitação no código completo. Vair ai o codigo correto:

<<System.out.exit(0)>> este é o erro

<<System.exit(0)>> código correto


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts