Avatar billede christian-e Nybegynder
29. april 2003 - 22:19 Der er 3 kommentarer og
1 løsning

Hvad er der galt med Graphics g

Hvad er der galt med Graphics g

Nå class GrafiskVindue er færdig med at tegne bliver Vinduet blankt.

package gnist_indlob;

import java.util.*;
import java.awt.*;
import javax.swing.*;

public class GrafiskVindue extends Frame
{

  int x;
  int y;


  public void tegnerWin(Vector ind)
  {
      for (int i=0;i<ind.size();i++)
      {
      indlob p;
      p = (indlob) ind.elementAt(i);
      x = p.x_grap()*5;
      y = p.y_grap()*5;

        tegn(getGraphics());


      System.out.println(""+p.x_grap()+"  "+p.y_grap()); // test af x y



      }
  }

  public void tegn(Graphics g)
  {


  g.drawLine(200,200,200+x,200+y);

  }




}
Avatar billede arne_v Ekspert
29. april 2003 - 22:34 #1
Mine umiddelbare forslag til forbedring er:
* omdøb tegn til paint
* i.s.f. at kalde tegn/paint explicit så kald repaint
* lav en event handler så man kan lukke framen
Avatar billede christian-e Nybegynder
29. april 2003 - 23:01 #2
Jeg har prøvet dit forslag og nu tegner class ok, men det er kun det sidste  FOR løkken henter ud af vector

package gnist_indlob;

import java.util.*;
import java.awt.*;
import javax.swing.*;

public class GrafiskVindue extends Frame
{

  int x;
  int y;


  public void tegnerWin(Vector ind)
  {
      for (int i=0;i<ind.size();i++)
      {
      indlob p;
      p = (indlob) ind.elementAt(i);
      x = p.x_grap()*5;
      y = p.y_grap()*5;

      repaint();

      System.out.println(""+p.x_grap()+"  "+p.y_grap()); // test af x y

      }
  }

  public void paint(Graphics g)
  {
    g.drawLine(200,200,200+x,200+y);
  }

}


Christian
Avatar billede arne_v Ekspert
29. april 2003 - 23:04 #3
Ja. Fordi x og y overskrives ved hvert gennemløb af for løkken.

Muligvis skal tegnerWin bare gemme Vector og kalde repaint og så
skal paint have for løkken og drawLine inden i for løkken.
Avatar billede christian-e Nybegynder
17. december 2012 - 22:01 #4
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester