Olá pessoal, é o seguinte eu tenho minha classe janela, já pronta com um botão, que ao clicar nele sorteia-se uma pessoa, este processo para sortear está em outra classe. Também não consegui aprendi a usar o ArrayList, o que eu quero fazer é o seguinte: criar um sistema de sorteio, onde eu adiciono nomes de pe no arraylist, dai ao clicar no botão sortear, ele sorteia um dessas peessoa… ah e essas pessoas tem que ser guardadas em arquivo
Então tenho essa dificuldade, de ao clicar no botão fazer algo vou cologar o código abaixo:
[code]import java.util.ArrayList;
import java.awt.event.;
import java.awt.;
import javax.swing.*;
public class Janela extends JFrame implements ActionListener{
ArrayList pessoas;
private JButton b1;
private final Container container;
private JLabel l1;
private JMenuBar m1;
JMenu menuCadastro, menuConfig, menuRelat, menuSair;
JMenuItem miPessoaj, miPergunta, miAltLogo, miAltNomeEvento, miGanhador, miQntosGanharam;
public Janela(){
setTitle(“Sorteio”);
setSize(800,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
container = getContentPane();
b1 = new JButton("Sortear");
m1 = new JMenuBar();
menuCadastro= new JMenu ("Cadastrar");
menuConfig = new JMenu ("Configurações");
menuRelat = new JMenu ("Relatórios");
miPessoaj = new JMenuItem ("Cadastrar Pessoa");
miPessoaj.addActionListener(this);
miPergunta = new JMenuItem ("Cadastrar Pergunta");
miPessoaj.addActionListener(this);
menuCadastro.add(miPessoaj);
menuCadastro.add(miPergunta);
miAltLogo = new JMenuItem ("Alterar Logo");
miAltLogo.addActionListener(this);
miAltNomeEvento = new JMenuItem ("Alterar nome do evento");
miAltNomeEvento.addActionListener(this);
menuConfig.add(miAltLogo);
menuConfig.add(miAltNomeEvento);
miGanhador = new JMenuItem("Mostrar vencedores");
miGanhador.addActionListener(this);
miQntosGanharam = new JMenuItem("Mostrar quantos já ganharam");
menuRelat.add(miGanhador);
menuRelat.add(miQntosGanharam);
menuSair = new JMenu("Sair");
m1.add(menuCadastro);
m1.add(menuConfig);
m1.add(menuRelat);
m1.add(menuSair);
setJMenuBar(m1);
getContentPane().add(b1);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==miPessoaj){
String resp=JOptionPane.showInputDialog(null,“Qual o seu nome?”,“Login no sistema”,JOptionPane.QUESTION_MESSAGE);
}
if (e.getSource()==miPergunta)
l1.setText(“Escolhido o item Perguntas”);
if (e.getSource()==miAltLogo)
l1.setText(“Escolhido o item Alterar Logo”);
if (e.getSource()==miAltNomeEvento)
l1.setText(“Escolhido o item Alterar Nome do Evento”);
if (e.getSource()==miGanhador)
l1.setText(“Escolhido o item Ganhador”);
if (e.getSource()==miQntosGanharam)
l1.setText(“Escolhido o item Quantos Ganharam”);
if (e.getSource()==menuSair)
System.exit(0);
}
}
[/code]
aqui agora a classe Pessoa
public class Pessoa extends Janela {
private String nome;
private int idade;
private String curso;
public void Pessoa(String n, int i, String c){
nome = n;
idade = i;
curso = c;
}
public String getNome(){
return nome;
}
public int getIdade(){
return idade;
}
public String getCurso(){
return curso;
}
}
Classe sorteio:
import java.io.FileOutputStream;
import java.util.Random;
import javax.swing.JOptionPane;
/**
*
* @author Cokda
*/
public class Sorteio {
private String Nomesorteio;
private String Nomepremio;
private int ValorPremio;
public void Sorteio (String ns, String np, int v){
Nomesorteio = ns;
Nomepremio = np;
ValorPremio = v;
}
public void Sorteia (){
Random random = new Random();
random.nextInt();
}
public void teste(){
}
public int PremioDinheiro (int x){
x =(Integer.parseInt(JOptionPane.showInputDialog("Insira o valor do premio:")));
return x;
}
public String Premio (String x){
JOptionPane.showInputDialog("Informe o prêmio deste sorteio:");
return x;
}
public String Evento (String x){
JOptionPane.showInputDialog("Informe o nome deste evento para o sorteio sorteio:");
return x;
}
}
Classe cadastro
[code]
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
*@author Cokda
*/
public class Cadastro implements Serializable {//Salvar uma nova pessoa em arquivo
private ArrayList<Pessoa> pessoas;
public Cadastro() {
pessoas = new ArrayList<Pessoa>();
}
public void salvaArquivo(Cadastro pessoas) {
try {
ObjectOutputStream arquivo = new ObjectOutputStream(new FileOutputStream("cadastro.ser"));
arquivo.writeObject(pessoas); // salva a referência pessoa no arquivo
arquivo.close(); // fecha o arquivo para não ter problemas futuramente
} catch (Exception ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* Função para carregar as referências dos objetos, atraves de um retorno de um arraylist com eles
* @return ArrayList
*/
public ArrayList carregaARquivo() {//Carregar as referencias dos objetos (arquivo salvo)
ArrayList x = new ArrayList();
try {
ObjectInputStream arquivo = new ObjectInputStream(new FileInputStream("cadastro.ser")); //deserealiza o objeto
x.add(arquivo.readObject()); // Salva em um arraylist o primeiro objeto que esta no arquivo
} catch (Exception ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}
return x; // retorna o arraylist com os objetos
}
}[/code]
e a main:
[code]
public class Main {
public static void main(String[] args) {
Janela j = new Janela();
}
}[/code]