Projeto Agenda - Como criar o aplicativo a partir do código?

Caros colegas,

Estou desenvolvendo um projeto no qual tenho que criar uma agenda de endereços que leia, grave, altere e exclua dados. Ocorre que o código tem funcionado corretamente quando rodado a partir do SUN One, mas preciso apresentá-lo em um computador que não tem nenhuma IDE. Já tentei rodá-lo a partir de uma applet, mas não funcionou. Estou precisando muito de ajuda para transformar esse código em um aplicativo. É possível criar um arquivo do tipo .exe?

Segue cópia do módulo de inclusão de dados

import javax.swing.;
import java.awt.event.
;
import java.awt.;
import java.io.
;

public class AgendaIncluir extends JFrame implements ActionListener {

private ObjectOutputStream output;


JButton botaoIncluir = new JButton("INCLUIR");
JButton botaoCancelar = new JButton("CANCELAR");

//itens do painel central
JLabel nomeLabel = new JLabel("Nome:");
JTextField nomeTextField = new JTextField(19);
JLabel telefoneLabel = new JLabel("Telefone:");
JTextField telefoneTextField = new JTextField(6);
JTextField dddTextField = new JTextField(2);
JLabel enderecoLabel = new JLabel("Endereço:");
JTextField enderecoTextField = new JTextField(31);
JLabel bairroLabel = new JLabel("Bairro:");
JTextField bairroTextField = new JTextField(12);
JLabel cidadeLabel = new JLabel("Cidade:");
JTextField cidadeTextField = new JTextField(11);
JLabel idadeLabel = new JLabel("Idade:");
JTextField idadeTextField = new JTextField(2);
JLabel sexoLabel = new JLabel("Sexo");
JLabel salarioLabel = new JLabel("Salário (R$):");
JTextField salarioTextField = new JTextField(5);
String estado = "";
String sexo = "";

public AgendaIncluir() {
    
    setBounds(180, 150,420, 200);
    setTitle("Inclusão de dados");
    Container container = getContentPane();
    container.setLayout(new BorderLayout(3,5));
    
    //Cria o painel inferior, o adiciona ao Content Pane e os botões a ele
    JPanel painelInferior = new JPanel();
    container.add(painelInferior, BorderLayout.SOUTH);
    
    painelInferior.add(botaoIncluir);
    painelInferior.add(botaoCancelar);
    
    //adiciona o ActionListener aos botões
    botaoIncluir.addActionListener(this);
    botaoCancelar.addActionListener(this);
    
    //cria o painelCentral e o adiciona ao Content Pane
    JPanel painelCentral = new JPanel();
    container.add(painelCentral);
    
    //adiciona os itens de inclusão ao painel central
    painelCentral.add(nomeLabel);
    painelCentral.add(nomeTextField);
    painelCentral.add(telefoneLabel);
    painelCentral.add(dddTextField);
    painelCentral.add(telefoneTextField);
    
    painelCentral.add(enderecoLabel);
    painelCentral.add(enderecoTextField);
    painelCentral.add(bairroLabel);
    painelCentral.add(bairroTextField);
    painelCentral.add(cidadeLabel);
    painelCentral.add(cidadeTextField);
    
    Object estados[] = {"","AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS",
    "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "SC","SE",
    "SP", "TO"};
    
    JComboBox EstadosComboBox = new JComboBox(estados);
    EstadosComboBox.addItemListener(
    
        new ItemListener(){
        
            public void itemStateChanged(ItemEvent event){
            
                if (event.getItem() == ""){
                    
                    
                    
                } else if (event.getItem() == "AC"){
                
                    estado = "AC";
                
                } else if (event.getItem() == "AL"){
                
                    estado = "AL";
                
                } else if (event.getItem() == "AM"){
                
                    estado = "AM";
                
                }else if (event.getItem() == "AP"){
                
                    estado = "AP";
                
                }else if (event.getItem() == "BA"){
                
                    estado = "BA";
                
                }else if (event.getItem() == "CE"){
                
                    estado = "CE";
                
                }else if (event.getItem() == "DF"){
                
                    estado = "DF";
                
                }else if (event.getItem() == "ES"){
                
                    estado = "ES";
                
                }else if (event.getItem() == "GO"){
                
                    estado = "GO";
                
                }else if (event.getItem() == "MA"){
                
                    estado = "MA";
                
                }else if (event.getItem() == "MG"){
                
                    estado = "MG";
                
                }else if (event.getItem() == "MS"){
                
                    estado = "MS";
                
                }else if (event.getItem() == "MT"){
                
                    estado = "MT";
                
                }else if (event.getItem() == "PA"){
                
                    estado = "PA";
                
                }else if (event.getItem() == "PB"){
                
                    estado = "PB";
                
                }else if (event.getItem() == "PE"){
                
                    estado = "PE";
                
                }else if (event.getItem() == "PI"){
                
                    estado = "PI";
                
                }else if (event.getItem() == "PR"){
                
                    estado = "PR";
                
                }else if (event.getItem() == "RJ"){
                
                    estado = "RJ";
                
                }else if (event.getItem() == "RN"){
                
                    estado = "RN";
                
                }else if (event.getItem() == "RO"){
                
                    estado = "RO";
                
                }else if (event.getItem() == "RR"){
                
                    estado = "RR";
                
                }else if (event.getItem() == "SC"){
                
                    estado = "SC";
                
                }else if (event.getItem() == "SE"){
                
                    estado = "SE";
                
                }else if (event.getItem() == "SP"){
                
                    estado = "SP";
                
                }else if (event.getItem() == "TO"){
                
                    estado = "TO";
                
                }
            
            }//public void itemStateChanged(ItemEvent event)
        
        }//new ItemListener()
    
    );//EstadosComboBox.addItemListener
    
    painelCentral.add(EstadosComboBox);
    
    painelCentral.add(idadeLabel);
    painelCentral.add(idadeTextField);
    painelCentral.add(sexoLabel);
    
    Object sexoOpt[] = {"","M", "F"};
    
    JComboBox sexoOptions = new JComboBox(sexoOpt);
    sexoOptions.addItemListener(
    
        new ItemListener(){
            
            public void itemStateChanged (ItemEvent event){
                
                if (event.getItem() == ""){
                    
                    
                    
                } else if (event.getItem() == "M"){
                    
                    sexo = "M";
                    
                }else if (event.getItem() == "F"){
                    
                    sexo = "F";
                    
                } 
                
            }// public void itemStateChanged (ItemEvent event)
            
        }//new ItemListener()
    
    );//sexoOptions.addItemListener
    
    painelCentral.add(sexoOptions);
    
    painelCentral.add(salarioLabel);
    painelCentral.add(salarioTextField);
    
    //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}//public AgendaIncluir()


public void actionPerformed(ActionEvent e) {
    
    if(e.getSource() == botaoIncluir){
        
        int resultado = ConfereCampos();
            
        if (resultado == 0){//se não houve erros na validação
            
            Object[] options = { "Sim", "Não" };
	int confirmaInclusao = JOptionPane.showOptionDialog(null, 
                                                                "Confirma inclusão?", 
                                                                "Atenção", 
                                                                JOptionPane.DEFAULT_OPTION, 
                                                                JOptionPane.WARNING_MESSAGE,
                                                                null, 
                                                                options, 
                                                                options[0]);
            if (confirmaInclusao == 0){
                
                //Registro da Agenda é uma classe que está em outro arquivo
                RegistroDaAgenda registro = new RegistroDaAgenda();
                registro.nome = nomeTextField.getText();
                registro.ddd = Integer.parseInt(dddTextField.getText());
                registro.telefone = Integer.parseInt(telefoneTextField.getText());
                registro.endereco = enderecoTextField.getText();
                registro.bairro = bairroTextField.getText();
                registro.cidade = cidadeTextField.getText();
                registro.estado = estado;
                registro.idade = Integer.parseInt(idadeTextField.getText());
                registro.sexo = sexo;
                registro.salario = Integer.parseInt(salarioTextField.getText());
                
                gravar(registro);
                fecharArquivo();

                
                JOptionPane.showMessageDialog(null,
                                              "Inclusão efetuada!",
                                              "Inclusão confirmada",
                                              JOptionPane.WARNING_MESSAGE);
                dispose();
                
            }else JOptionPane.showMessageDialog(null,
                                                "Inclusão não efetuada!",
                                                "Inclusão não confirmada",
                                                JOptionPane.ERROR_MESSAGE);
                
                
                
            
            
        }//if (resultado == 0)
        
    }else if(e.getSource() == botaoCancelar){
        
        dispose();
        
    }
    
}//public void actionPerformed(ActionEvent e)

public void gravar(RegistroDaAgenda reg){
    
    File file = new File("c:bd.dat");
    try{
        
        output = new ObjectOutputStream( new FileOutputStream(file));
        output.writeObject(reg);
        output.flush();
        
    }catch(IOException ioe){
        
        ioe.printStackTrace();
        JOptionPane.showMessageDialog(null, 
                                      "Não é possivel abrir o arquivo",
                                      "ERRO",
                                      JOptionPane.ERROR_MESSAGE);
    }//catch
    
}//public void gravar(RegistroDaAgenda reg)

public void fecharArquivo(){
    
    try{
        
        output.close();
        
    }catch(IOException ioe){
        
        ioe.printStackTrace();
        JOptionPane.showMessageDialog(null, 
                                      "Não é possivel fechar o arquivo",
                                      "ERRO",
                                      JOptionPane.ERROR_MESSAGE);
    
    }
    
}//public void fecharArquivo()

public int ConfereCampos(){
    
    String nome = nomeTextField.getText();
    if (nome.length() >0){
        
        String ddd = dddTextField.getText();
        if(ddd.length() == 2){
            
            String telefone = telefoneTextField.getText();
            if(telefone.length() > 6 && telefone.length() < 9){
                
                String endereco = enderecoTextField.getText();
                if(endereco.length() >0){
                    
                    
                    
                }else{
                    
                    JOptionPane.showMessageDialog(null, 
                                          "O endereço tem que ser preenchido",
                                          "Endereço inválido!",
                                          JOptionPane.WARNING_MESSAGE);
        
                    return(1);//erro na validação
                    
                }
                
            }else{
                
                JOptionPane.showMessageDialog(null, 
                                          "O número do telefone tem 7 ou 8 números!",
                                          "Telefone inválido!",
                                          JOptionPane.WARNING_MESSAGE);
        
                return(1);//erro na validação
                
            }
            
        }else{
            
            JOptionPane.showMessageDialog(null, 
                                          "O Código de Área tem 2 posições!",
                                          "DDD inválido!",
                                          JOptionPane.WARNING_MESSAGE);
        
            return(1);//erro na validação
            
        }
        
    }else {
            
        JOptionPane.showMessageDialog(null, 
                                      "O nome tem que ser preenchido!",
                                      "Nome inválido!",
                                      JOptionPane.WARNING_MESSAGE);
        
        return(1);//erro na validação
    }
        
    return(0);//significa que não houve erros na validação
}//public void Inclui()



public static void main(String[] args) {
    
    new AgendaIncluir().show();
    
}//public static void main(String[] args)

}//public class AgendaIncluir extends JFrame implements ActionListener

Agradeço todas as contribuições

[]s

Leandro

Olá,

   Não sei se entendi bem sua questão, mas vamos lá.
   O que é preciso para rodar uma aplicação Java ?
       * Uma JVM instalada na maquina hospedeira.
       * Um pacote Java (.JAR) ou as classes que vc precisa.
   Onde consigo esta JVM ?
       * Se vc tem instalado o J2SE ( JDK ) vc já tem.
       * Caso contrário, faça download no site da SUN, procure por 
          J2RE ou plug-in Java.
   Se vc usa alguma biblioteca externa ou de terceiros, vc deve incluí-la na sua CLASSPATH.     
       O SUN ONE deve ter algum recurso chamado "export" ou algo parecido para distribuir sua aplicação ( empacotar as classes junto com as LIB's necessárias ) assim como  no JBuilder ou Eclipse.
   Se não for isso, desculpe. 

Claudio Gualberto.
SCJP 2 1.4

Cara,

A única coisa que uma máquina precisa pra rodar um programa java é da JRE instalada, das suas classes e das APIs que você está utilizando. Isso é o básico pra quem trabalha com java, recomendo que você tente fazer uns aplicativos a mão, sem uma IDE, pra aprender como a coisa funiciona.

Veja esses tutoriais do GUJ, tem coisas que podem te ajudar na solução:

Hello, World - Seu primeiro programa em Java!, na sessão tutoriais

e Classpath, entendendo o que é e para que serve, na sessão artigos.

Qualquer coisa estamos ai, dê mais detalhes dos erros que você se deparar :wink:

Gustavo Guilherme BacK

Leandro,
O problema de vc não estar conseguindo rodar seu applet pode estar ocorrendo pq applets não podem tem acesso de gravação no filesystem. Existe um arquivo de propriedades que fica em “C:WINDOWS.java” no windows ou “/home//.java” no linux. O Nome da propriedade eu não lembro. Mas é só setar ela p/ true que deverá funcionar.
Lembre-se, esta solução soh deve ser usada se vc realmente precisar que o programa seja um applet.
Uma saida mais “elegante” seria usar a classe JApplet.

[]´s