Devo creare una scacchiera 8x8 e nelle caselle le rispettive pedine.
Qualcuno mi può dare un consiglio?
Devo creare una scacchiera 8x8 e nelle caselle le rispettive pedine.
Qualcuno mi può dare un consiglio?
Mi sembra un tantino generica come richiesta: cerca di fornire maggiori dettagli e magari dicci anche cosa hai già fatto, dove ti sei fermato, quali difficoltà hai incontrato.
Posta anche un po' di codice di ciò che hai fatto in modo da capire come intendi portare avanti la cosa.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
sono ancora all'inizio sto cercando di capire il modo migliore per crearla.
Quello che deve risultare è una finestra con dentro una scacchiera con a lato tre pulsanti:
uno per caricare una nuova partita da file, uno per salvare la partita e il terzo per iniziare una nuova partita.
Pensavo di creare un pannello poi usare java.awt.GridLayout perchè da quello che ho capito crea una matrice N x M e i bottoni sono tutti della stessa dimensione.
Se no come potrei fare?
Secondo me è la via giusta.
Imposti il LayoutManager della finestra come BorderLayout.
Nel centro ci metti il tuo pannello con GridLayout che ti costituisce la scacchiera. Ciascuna cella sarà a sua volta un pannello che visualizza l'immagine.
Sulla destra, invece, aggiungi un pannello con un FlowLayout (o qualsiasi altra cosa a tua scelta) che visualizza i pulsanti.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Grazie mille per l'aiuto.
Comincio a creare qualcosa poi se avessi ancora bisogno mi farò sicuramente risentire.
Ciao![]()
Ciao, siccome immagino che le pedine vadano spostate tra le caselle, avrai bisogno di accedere velocemente ai vari JPanel casella. Mentre prosegui sulla strada che hai scelto (che e' molto sensata), credo che ti convenga salvare questi pannelli in un array bidimensionale NxM.
Lo popoli dentro un for e nello stesso for metti le caselle nella posizioni corrette del layout in modo che il pannello che a video sta in posizione 0,0 del GridLayout, sia l'elemento [0][0] dell'array (se vuoi puoi anche colorare le varie caselle in stile scacchiera dentro al for).
Poi accedi agli elementi dell'array quando hai bisogno di aggiungere/rimuovere le pedine durante la partita.
ciao ragazzi scusate che ho ripreso un post vecchio ma sto implementando la parte grafica della scacchiera vorrei un consiglio a riguardo il colore del bottone, visto che appena viene cliccato perde il colore che avevo assegnato con il metodo setBackground. Sapete mica come si puo gestire questa cosa con java?
PS: Ho gestito il colore alternato della scacchiera con una seria di if else per quello che riguarda l'indice i(delle righe) e per ognuno di questi uno switch per l'indice j (colonne)
if (i==0)
switch (j)
{
case 0;
b[i][j].setBackground(Color.black);
break;
case 1:
b[i][j].setBackground(Color.white);
break;
e cosi via fino all'ultima j
grazie per l'aiuto
ciao
Io userei JPanel al posto di JButton per aggirare il problema.
P.s. non voglio nemmeno sapere quante linee di codice t'e' costato colorarlo in quel modo quando bastano 2for, un if e 2 assegnamenti.
codice:for(int i=0; i<b.size(); i++) { for(int j=0; j<b[i].size(); j++) { if(((i+j)%2)==0) { b[i][j].setBackground(Color.black); } else { b[i][j].setBackground(Color.white); } } }
Mi stò cimentando anche io con una specie di scacchiera...e uso NetBeans...potete spiegarmi i passaggi per fare queste cose. Ho impostato GridLayout nel JPanel e messo righe e colonne, ma non vedo nulla, inoltre se provo ad aggiungere un JPannel sopra me lo mette bislungo, se lo modifico me lo torna a mettere come era all'inizioOriginariamente inviato da LeleFT
Secondo me è la via giusta.
Imposti il LayoutManager della finestra come BorderLayout.
Nel centro ci metti il tuo pannello con GridLayout che ti costituisce la scacchiera. Ciascuna cella sarà a sua volta un pannello che visualizza l'immagine.
Sulla destra, invece, aggiungi un pannello con un FlowLayout (o qualsiasi altra cosa a tua scelta) che visualizza i pulsanti.
Ciao.![]()
grazie mille per la tua risposta cosi immediata abbiamo provato ad implementare il tuo codice .. ma ci da questa eccezione quando eseguiamo il programma :
Exception in thread "main" java.lang.NullPointerException
at myframe.main(myframe.java:30)
Press any key to continue...
come possiamo aggirarla ?
grazie mille ancora
saluti
ps : si è meglio che non ti diciamo quante righe di codice venivano..
ciao