Avatar billede java_tumling Nybegynder
04. marts 2001 - 21:38 Der er 6 kommentarer og
1 løsning

Kurvetegning med Applet og Graphics

Hej
Jeg er ny med Java
jeg er ved at lave et lille program til at skrive kurver ud for forskellige funktioner.

Nu har jeg fået programmet til at udregne og skrive koordinater ud for enhver funktion. Ved hjælp af vector klassen kan jeg gemme de enkelte leds faktor og potens og angive hvilket interval jeg ønsker kurven beregnet for. Der er 3 led i funktionen.
Nu vil jeg så gerne udskrive kurven grafisk...hvordan gør jeg det? Hvor i mit main program skal det ligge, eller er det bedre at oprette en ny klasse der kan det?
Herunder ses main programmet.


import java.awt.*;
import java.lang.*;
import java.applet.*;


public class TegnKurve extends Applet
{
public static void main(String args[])
  {
  KurveVektor k = new KurveVektor();


  setLed l = new setLed(2,3);
  System.out.println(\"Resultatet af denne ledudregning er \" + l.Ledvalue(2));
  k.alleled.addElement(l);
  System.out.println(\"Leddets faktor er og potens er nu gemt i vektoren k\");


  l= new setLed(-2,2);
  System.out.println(\"Resultatet af denne ledudregning er \" + l.Ledvalue(2));
  k.alleled.addElement(l);
  System.out.println(\"Leddets faktor og potens er nu gemt i vektoren k\");

  l= new setLed(3,2);
  System.out.println(\"Resultatet af denne ledudregning er \" + l.Ledvalue(2));
  k.alleled.addElement(l);
  System.out.println(\"Leddets faktor og potens er nu gemt i vektoren k\");



        for(int x=2; x<10;x++)
                {
                System.out.println(\"x er nu \" + x);

                double led=0;

                for(int i=0; i<k.alleled.size(); i++)
                        {

                        l=(setLed)k.alleled.elementAt(i);
                        led = led + l.Ledvalue(x);
                        }
                        System.out.println(\"Funktionssum eller y værdi er \" +led );
                        System.out.println();}



                }

  }
Avatar billede el_gnu Nybegynder
05. marts 2001 - 16:06 #1
opret kun spørgsmål én gang! (http://www.eksperten.dk/spm/54274)
Avatar billede mpultz Nybegynder
05. marts 2001 - 16:46 #2
Du skal overskrive paintComponent() eller paint() afhængig af om du benytter Java 2 eller ej. Se the Java Tutorial hos http://www.javasoft.com for eksempler. Hvis du benytter Java 2 brug da Java 2D. Der er et \"trail\" i den ovennævnte tutorial for Java 2D. Det ville måske være en god ide at oprette en seperat klasse til dine beregning og fremvisning, f.eks. en klasse der arver fra JComponent, som du så derefter ligger ind i dit hovedvindue (kræver lidt kendskab til AWT/Swing).
Avatar billede java_tumling Nybegynder
05. marts 2001 - 21:19 #3
Jeg kan ikke finde en lignende problematik på Javasofts hjemmeside.
Jeg har nok brug for mere specifik vejledning i hvor i mit program jeg skal indsætte metoderne du beskriver eller hvor og hvordan jeg kalder dem hvis der skal oprettes en klasse til fremvisning af grafen.
Det burde være muligt da jeg har koordinaterne
for de punkter beregnet i main programmet her, udtrykt ved \"x\" og \"led\" (y-værdi)som skal forbindes med en linie.
Avatar billede java_tumling Nybegynder
05. marts 2001 - 21:25 #4
hvordan slettes et spørgsmål el_gnu...i henhold til din kommentar, jeg kan ikke finde slet funktionen ?
Avatar billede el_gnu Nybegynder
05. marts 2001 - 21:29 #5
der findes ikke en slet funktion.
Det eneste du kan gøre er at svare på dit eget spørgsmål og så acceptere dit eget svar.
En anden gang kan du hæve point-tallet ved at klikke på det oppe i højre hjørne.
Avatar billede mpultz Nybegynder
06. marts 2001 - 09:07 #6
Jeg vil ikke lave koden for dig, men når du skal rode med grafik i Java kræver det kendskab til Java 2D og lidt AWT/Swing. Ovennævnte link giver eksempler på hvordan man laver grafik i Java. Søg f.eks. på http://www.google.com efter andre eksempler. Kort fortalt bliver paint() kaldt når en komponent tegnes op på skærmen så du skal ikke explicit kalde metoden nogle steder i dit program, det sker automatisk, men du kan overstyre metoden til dit specifikke behov (paintComponent() bliver kaldt af paint()).
Avatar billede java_tumling Nybegynder
06. marts 2001 - 17:05 #7
tak for svaret mpultz ! jeg har løst opgaven efter 4 timers arbejde med bla. hjælp fra dit link .

Du får points´ne

java_tumling
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