Euromilhoes-JAVA

jmendes85

Membro
Boas,
Tenho um tarefa para fazer em java e optei por fazer o jogo Euromilhões mas com interface grafico.
A minha duvida é se é possivel colocar uma imagem do boletim numa frame , o utilizador escolher os numeros e estrelas(talvez com botões) que quer apostar e guardar tudo num array para servir de comparação aos numeros que saem em random.

Obrigado
 
Podes usar a imagem do boletim como background(neste caso a imagem não terá os quadrados dos números e das estrelas mas sim estará vazio) e nos lugares dos números adicionais os botões e fazes o style com css.

Para guarda os valores escolhidos podes criar um objeto Aposta etc. por fim crias um array de apostas etc.
 
"fazes o style com css" - não percebi
sim ao inserir como imagem não vai ter os quadrados para selecionar numeros e estrelas, teria que os adicionar como botoes.

Ja vi vários videos do Youtube para entender como insiro uma imagem numa JFrame mas nao estou a encontar nada que funcione...
 
Cria antes uma ImageView do tamanho da frame depois os botões ficam por cima dessa imageView.

Tu consegues alterar o estilo dos teus objetos usando css no javafx
 
Eu já consegui meter uma imagem lá mas so aparece quando corro o ficheiro, o que torna dificil a colocacão dos check buttons.
Além disso nao deve ser possivel colocar dentro do check button um numero, nem alterar o carater da escolha de v para x.
o melhor caminho é optar pela construção de um form semelhante ao boletim...
Sou sincero, não sei o que é o CSS no javafx nem como usar....
 
Sabes que podes usar uma "GridPanel" e para cada 0,0;0,1;...x,y crias um "Button" com os valores 1-50 e para estrelas de 1-12. Quando seleccionas o botão muda para uma cor x quando voltas a clicar volta para a cor default.

E assim replicas o boletim de uma forma muito mais fácil.
 
eu nao sei trabalhar com javafx. os meus poucos conhecimentos sao de swing. Ao construir forms faço-o em swing....
Mas o GridPanel parece ser uma solução muito melhor do que a que tenho agora (construir 50 botões para os numeros e mais 12 para as estrelas)...
tenho o netbeans 12 e o jdk 14 (default), vou tentar meter o javafx a funcionar e explorar
 
Sabes que podes usar uma "GridPanel" e para cada 0,0;0,1;...x,y crias um "Button" com os valores 1-50 e para estrelas de 1-12. Quando seleccionas o botão muda para uma cor x quando voltas a clicar volta para a cor default.

E assim replicas o boletim de uma forma muito mais fácil.

Dentro de um Jframe criei dois Jpanel um para numeros e outro para as estrelas, usei o GridBagLayout para introduzir tanto os numeros (1-50) e as estrelas (1-12) direitas. Agora o meu problema é que não estou a conseguir com que fiquem visiveis os dois jpanel (queria o dos numeros por cima e o das estrelas por baixo). Usei a seguinte intrução para tentar redimensionar o Jpanel das estrelas e dos numeros painelstar1.setBounds(0, 150, 150, 100), mas o que aparece o que esta na imagem. Alguem me pode ajudar sff


3416wT6c
 
Ainda estas a apostar em Swing? Experimentaste Javafx?

O maior erro que podemos fazer é programar sem ler a documentação de como as coisas funcionam. setBounds(0,150,150,150) da o resultado que tens ai onde (x=0,y=150,,width=150,height=150).

Logo para o painelNumeros tens que por x=0,y=painel1Star.getHeight() - valor definido por ti, etc...

Mas pelo que vejo na imagem o teu painel Estrelas tem tanto os numero 1-50 como estrelas 1-12.
 
Ainda estas a apostar em Swing? Experimentaste Javafx?

O maior erro que podemos fazer é programar sem ler a documentação de como as coisas funcionam. setBounds(0,150,150,150) da o resultado que tens ai onde (x=0,y=150,,width=150,height=150).

Logo para o painelNumeros tens que por x=0,y=painel1Star.getHeight() - valor definido por ti, etc...

Mas pelo que vejo na imagem o teu painel Estrelas tem tanto os numero 1-50 como estrelas 1-12.

Não apostei em javafx porque nao consegui instalar e o tempo que tenho para terminar o programa é curto...
Relativamente ao setBounds tenho estes dois - painelstar1.setBounds(0, 150, 150, 100); e painelnum1.setBounds(0, 0, 150, 100); mas não os consigo meter um por baixo do outro tipo euromilhoes... pensei que com estes valores desse, mas o painel (com border) fica a ocupar o frame todo...
 
Back
Topo