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);
}
}