/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
lidt om grafik
Fra : dejan


Dato : 11-11-01 02:40

Hej, jeg har følgende spørgsmål:
Jeg skal til at lave en image som efter ønske skal kunne "flyttes". Følgende
stump kode opretter image:

public class Probe extends JPanel{
private ImageIcon imgic;
private int yy;
public Probe(ImageIcon img, int vv){
imgic= img;
yy=vv;
....
}

public void paintComponent(Graphics g) {
....
int compWidth = getWidth();
int compHeight = getHeight();
int imageWidth, imageHeight;
imageWidth = imgic.getIconWidth();
imageHeight = imgic.getIconHeight();
g.drawImage(imgic.getImage(), 0 , Y, imageWidth,
compHeight/yy, this);
.....
}
}

Problemmet ligger omkring variablen Y. Som sagt vil jeg gerne have at image
skulle bevæge sig langs panelets Y-axis. Jeg bruger bl.a. følgende til det
formål:
(for int i=0; i<etEllerandet;++i) {
Y++;
}

(ikke just det samme, men princippet er der).
Og det fungerer fint hvis jeg f.eks i klassen Probe deklarerer Y=730 som
startværdi (som svarer til getHeight når pannelset vises i fuld skærm). Men
hvordan får jeg fat i denne variabel uden at skulle angive dens værdi på
forhånd? Som sagt kører programmet i fuld skærm, og hos mig giver getHeight
= 730. Dimension dim = Toolkit.getDefaultToolkit().getScreenSize() giver til
gengæld (dim.height) 768. Men hvis programmet skal virke uanset
skærmopløsning, og uden at brugeren skal pille med denne Y-værdi, så skal
jeg på en eller anden måde sige at Y=compHeight allerede i konstruktøren,
men hvordan? Måske kan ovenstående "dim" bruges (da programmet returnerer
denne værdi før alt andet er tegnet), men så kniber det lidt med de
resterende 38 pixels.

på forhånd tak

mvh Dejan



 
 
Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste