| 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
 
 
 
 
 |