|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
[Java]Aiuto per progetto!
Innanzitutto salve a tutti ragazzuoli, sono un nuovissimo utente di questo forum
![]() Sono capitato qui perchè mi è parso che ci sia parecchia gente che di programmazione ne sa un bel po', e io ho bisogno di un grosso aiuto...sperando che ci sia qualche buon'anima che me lo dia ovviamente. Devo realizzare un gioco, ovvero Forza4, in 7-8 giorni. Il gioco deve avere una sua grafica, ma NON creato attraverso una applet. Ora, mi sento abbastanza preparato per quanto riguarda cicli, iterazione, ricorsione ed array (senza la parte dei vectir che mi devo guardare). Mi manca, per potere cominciare, tutto il bagaglio relativo alla parte grafica ed anche un po' di concetti di base. Ho letto la parte della grafica sui PDF Mokabyte, ma non è che ci abbia ricavato un granchè. Quindi ho bisogno del vostro aiuto. Allora, partiamo dalle cose DAVVERO semplici: 1) supponendo di avere un frame principale di 500x500, se io volessi suddividerlo in due parti (con due Panel, direi no?), dovrei creare due panel di dimensioni, ad esempio, di 500x400 uno e di 500x100 l'altro e poi inserirli nel frame principale con "add", giusto? Se è così, come si settano le grandezze dei panel nella maniera più semplice? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Puoi usare setSize() ma attento perchè credo tu debba prima darti un'infarinata riguardo i layout !
Cmq ricorda che la documentazione è tua amica, se leggi quella riferita alla classe JPanel scopriresti che erdita dalla classe java.awt.Component il metodo public void setSize(Dimension d) Descrizione: Resizes this component so that it has width d.width and height d.height Magari parti da qui http://java.sun.com/docs/books/tutor...al.html#border e leggi la documentazione "HOW TO USE..." disponibile per ogni layout quando hais celto quelloc he fa per te... Ciao! ![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Ho letto tutto quello che ho potuto, grazie per l'aiuto! Di default viene impostato il FlowLayout, ma non fa per me perchè dispone gli elementi da sinistra verso destra. Il gridLayout non va bene perchè crea una griglia di elementi di uguali dimensioni, e a me ne serve uno grande per l'immagine di gioco ed uno per il menu. In teoria il border layout andrebbe bene, però sinceramente non so se mi convenga: vengono create 5 aree, mentre il ne userò solo 2 (andrebbe bene perchè le altre non vengono visualizzate).
A meno che il grid Layout non prenda anche panel di differenti dimesioni, direi che il border è l'unico... |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Il GridBagLayout è il più flessibile (anche se più laborioso) però forse nel tuo caso la soluzione migliore sarebbe il Layout super deprecato
![]() ![]() Sarebbe il "null Layout" e ti permette di piazzare degli oggetti grafici con coordinate e dimensioni assolute nel Frame principale. E' considerata una "bad practice" ma forse per te è la cosa migliore (ovviamente devi prendere delle accortezze tipo impostare non-resizable il frame principale. http://www.leepoint.net/notes-java/G...ulllayout.html |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
No, non è proprio il caso, visto che questo dovrà essere un progetto universitario
![]() Utilizzerò il GridBagLayout, grazie! A presto con nuovissime e stupidissime domande! |
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Molto bene. Risolto il primo problema, ne sorge subito un secondo. Possiedo già le 5 immagini fondamentali: il campo da gioco, una cella vuota, una cell piena, un gettone rosso ed uno giallo.
In previsione di quello che dovrò fare, come la disegno sul panel l'immagine del campo da gioco? La disegno attraverso un array (dove ripeto l'immagine della cella) oppure tutta intera? Dove trovo i metodi per fare questo? Grazie mille! |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jun 2004
Città: Catania
Messaggi: 88
|
devi utilizzare la classe Graphics, ma prima dei importare l'immagine utilizzando la classe Image
__________________
Mic |
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Mumble...consultando la documentazione non capisco come si riesca ad importare un immagine.
Qualcuno che mi faccia un esempio semplice c'è? ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
ecco qui:
__________________
Nunc est bibendum Ultima modifica di gaglioppo : 07-07-2005 alle 08:59. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
Consultando consultando, magari guarda meglio :-D
Chissà di quale università sei...perchè sto facendo un progetto simile pure io.... Codice:
//import javax.imageio.*; class Pannello extends JPanel { private Image image1; // costruttore: public Pannello() { try { image1 = ImageIO.read(new File("sfondo.gif")); } catch (IOException exception) { exception.printStackTrace(); } } public void paintComponent(Graphics g){ super.paintComponent(g); g.drawImage(image,12,12,null); }
__________________
Nunc est bibendum Ultima modifica di gaglioppo : 07-07-2005 alle 09:00. |
![]() |
![]() |
![]() |
#11 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
"Simile" o "lo stesso"? XD, io sono a Scienze di Internet, Bologna
![]() Grazie per l'aiuto, adesso lo provo... Ultima modifica di Duke_Nukem : 07-07-2005 alle 11:16. |
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Ma....visto che la devo poi far entrare nel Panel centrale, come me la sbrigo?
|
![]() |
![]() |
![]() |
#13 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Io l'ho inserita attraverso una JLabel...però da quel che ho capito le JLabel non sono suscettibili agli eventi, quindi non va bene
![]() Come posso fare altrimenti? |
![]() |
![]() |
![]() |
#14 |
Junior Member
Iscritto dal: Jul 2005
Messaggi: 9
|
Aspettate, mi è stato consigliato di importare le immagini in questa maniera:
URL importaImg = getClass().getResource("Forza_4campo.jpg"); Campo=new ImageIcon(importaImg); Però a sto punto ho Campo che contiene l'immagine, e se voglio disegnarla all'interno di un Panel non posso fare semplicemente add, vero? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:15.