Visualização melhor!!!
[code]Codigo da loteria
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package init;
//classes importadas
import javax.swing.;
import java.awt.;
import java.awt.event.*;
import java.text.ParseException;
import javax.swing.text.MaskFormatter;
import java.util.Random;
/**
*
-
@author Administrador
*/
//classe Bicho
public class Bicho extends JFrame {
//cria JLabel
JLabel lbQntNumeros, lbQntJogos, lbNumMax, lbNumSorteados;
//cria campo para diigitar nome do usuário
JFormattedTextField edQntNumeros, edQntJogos, edNumMax;
MaskFormatter msQntNumeros, msQntJogos, msNumMax;
//cria botões
JButton btSortear;
//Cria listas
JList lNumSorteados;
//array que armazena os valores de cada jogo
int jogo[] = new int[99];
//array que armazena todos os jogos
String listaJogos[] = new String[9999];
//construtor da classe
public Bicho() {
//titulo da janela
super(“Sorteia números”);
ImageIcon icone = new ImageIcon(“imagem.jpg”);
setIconImage(icone.getImage());
for(int i = 0; i < listaJogos.length; ++i)
listaJogos[i] = "Jogo " + String.valueOf(1+i) + ": ";
//configura a quantidade de colunas e linhas
setLayout(null);
//cor do formulario
Container fundo = getContentPane();
//fundo.setBackground(Color.red);
/** Inicializa os JLabel /
lbQntNumeros = new JLabel(“Quantidade de números”);
lbQntJogos = new JLabel(“Quantidade de jogos”);
lbNumMax = new JLabel(“Número de 1 até…”);
lbNumSorteados = new JLabel(“Números sorteados”);
/* fim JLabel */
/** Inicializa os JList /
lNumSorteados = new JList(listaJogos);
lNumSorteados.setVisibleRowCount(5);
JScrollPane barraRolagem = new JScrollPane(lNumSorteados);
lNumSorteados.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
/* fim JList */
/** Inicializa Mascaras */
try {
msQntNumeros = new MaskFormatter("##");
msQntJogos = new MaskFormatter("####");
msNumMax = new MaskFormatter("##");
}
catch(ParseException excp) {}
/** Fim Mascaras */
/** Inicializa JFormattedTextField /
edQntNumeros = new JFormattedTextField(msQntNumeros);
edQntJogos = new JFormattedTextField(msQntJogos);
edNumMax = new JFormattedTextField(msNumMax);
/* fim JTextField e JPasswordField */
/** inicializa os JButton /
btSortear = new JButton(“Sortear”);
/* fim JButton */
/** Posiciona os componentes */
//JLabel
lbQntNumeros.setBounds(20, 20, 300, 20);
lbQntJogos.setBounds(20, 70, 300, 20);
lbNumMax.setBounds(20, 120, 300, 20);
lbNumSorteados.setBounds(200, 20, 300, 20);
//JFormattedTextField
edQntNumeros.setBounds(20, 40, 150, 20);
edQntJogos.setBounds(20, 90, 150, 20);
edNumMax.setBounds(20, 140, 150, 20);
//JButton
btSortear.setBounds(225, 190, 150, 20);
//JList
barraRolagem.setBounds(200, 40, 370, 120);
/** fim da posição dos componentes */
//botão padrão ao apertar ENTER
getRootPane().setDefaultButton(btSortear);
/** Ação JButton /
btSortear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sorteador();
lNumSorteados.repaint();
}
});
/* fim Ação JButton */
/** insere os componentes no formulário */
//JLabel
add(lbQntNumeros);
add(lbQntJogos);
add(lbNumMax);
add(lbNumSorteados);
//JTextField
add(edQntNumeros);
add(edQntJogos);
add(edNumMax);
//JButton
add(btSortear);
//JList
add(barraRolagem);
/** fim da inserção de componentes */
//tamanho do formulário
setSize(600, 250);
//torna o formulário visível
setVisible(true);
//não permite redimencionamento do formulário
setResizable(false);
//mostra o furmulário sempre no centro da tela
setLocationRelativeTo(null);
} //fim do construtor
/**
-
@param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Bicho app = new Bicho();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} //fim do método main
public void sorteador() {
//cria objeto Random e atribui a numeroAleatorio
Random numeroAleatorio = new Random();
//String para armazenar os resultados do array jogo acumulado
String jogoFinal = “”;
//cria Strings e atribui os valores dos JFormattedTextField
String qntNumeros = edQntNumeros.getText();
String qntJogos = edQntJogos.getText();
String numMax = edNumMax.getText();
//cria integers para armazenar os valores em inteiros
int numeros = 0;
int jogos = 0;
int max = 0;
//verifica se todos os JFormattedTextField foram preenchidos, se não exibe uma mensagem
if (!qntNumeros.trim().equals("") &&
!qntJogos.trim().equals("") &&
!numMax.trim().equals("")) {
numeros = Integer.parseInt(qntNumeros);
jogos = Integer.parseInt(qntJogos);
max = Integer.parseInt(numMax);
//if que verifica se o valor max é suficiente em relação aos digitos
if (max / 2 >= numeros) {
for(int i = 0; i < jogo.length; ++i)
jogo[i] = 0;
//for número de jogos
for(int z = 0; z < jogos; ++z) {
//for que sorteia os números
for(int i = 0; i < numeros; ++i) {
int jogoTmp = 1 + numeroAleatorio.nextInt(max);
jogo[i] = jogoTmp;
} //fim do for que sorteia os números
//for que passa os valores do array para acumular em uma string
for(int i = 0; i < numeros; ++i) {
jogoFinal += String.valueOf(jogo[i]) + " ";
} //fim do for que passa os valores do array para acumular em uma string
//adiciona o jogo no array que guarda os jogos
listaJogos[z] = "Jogo " + String.valueOf(1+z) + ": " + jogoFinal;
//coloca a variável jogoFinal novamente como “”
jogoFinal = “”;
} //fim do for número de jogos
}
else
JOptionPane.showMessageDialog(null, “O valor máximo tem que ser no mínimo duas vezes maior que a quantidade de números!!”,
“Corriga o valor máximo”, JOptionPane.INFORMATION_MESSAGE);
//fim do if que verifica se o valor max é suficiente em relação aos digitos
}
else
JOptionPane.showMessageDialog(null, “É fundamentão que seja digitado valores em todos os campos!!”,
“Faltou campo a ser digitado”, JOptionPane.INFORMATION_MESSAGE);
//fim do if que verifica se todos os campos foram preenchidos
} //fim do método sorteador [/code]
look this :arrow: http://www.guj.com.br/posts/list/50115.java