Avatar billede prankster Nybegynder
13. januar 2002 - 09:51 Der er 19 kommentarer

getParameter() - metoder og andet ???

Hvordan konveterer man en String om til en Color, i en Applet med et par getParameter()\'ere????
Avatar billede carstenknudsen Nybegynder
13. januar 2002 - 10:36 #1
Kunne du lige konkretisere lidt, hvordan
kunne en sådan Strings indhold se ud? Er
det f.eks. rgb koder du har eller har du
navnet på en farve?
Avatar billede erikjacobsen Ekspert
13. januar 2002 - 11:11 #2
String s = getParameter(\"colour\");

if (s.equals(\"red\")) { ... }
else if (s.equals(\"blue\")) { ... }
...osv...

eller man slår op i en tabel
Avatar billede prankster Nybegynder
14. januar 2002 - 14:04 #3
String farve = getParameter(\"Farve\");

//Hvis farven er \"black\" hvordan får fx:

public void paint(Graphics g)
{ g.setColor(Color.FARVE) }

Håber i kan svare på det nu!!! :-)
Avatar billede erikjacobsen Ekspert
14. januar 2002 - 14:56 #4
Har jeg ikke givet dig det du skal bruge? Hvad forstår du ikke?
Avatar billede prankster Nybegynder
15. januar 2002 - 13:29 #5
Jo jeg ved ikke helt hvad jeg tænkte på!!

Kan jeg sætte \"if(s.equals(\"red\")).......\"
i en \"public void paint(Graphics g).....\"????
Avatar billede carstenknudsen Nybegynder
15. januar 2002 - 13:37 #6
Ja, det kan du godt. (forudsat at s er erklæret i klassen)
public void paint( Graphics g ) {
...
if ( s.equals(\"red\") )
g.setColor( Color.red );
...
}
Avatar billede prankster Nybegynder
15. januar 2002 - 21:41 #7
Her er mit Bold.java dokument:

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

public class Bold extends Applet implements Runnable
{
  double x, y, fartx, farty;
  Graphics g;
  String antal, boldfarve;
  int antalint;

  public Bold(Graphics g1, int x1, int y1)
  {
    g = g1;
    x = x1;
    y = y1;
    fartx = Math.random();
    farty = Math.random();
    Thread t = new Thread(this);
    t.start();
  }

  public void run()
  {
    for(int tid=0; tid<10000; tid++)
    {
      //Tegn Bolden over med en farve på den gamle position
      g.setColor(Color.red);
      g.drawOval((int) x, (int) y, 50, 50);

      //Opdater positionen med farten
      x = x + fartx;
      y = y + farty;

      //Tegn bolden med en farve på den nye position
      if(boldfarve.equals(\"red\"))      g.setColor(Color.red);
      if(boldfarve.equals(\"white\"))     g.setColor(Color.white);
      if(boldfarve.equals(\"yellow\"))      g.setColor(Color.yellow);
      if(boldfarve.equals(\"green\"))      g.setColor(Color.green);
      if(boldfarve.equals(\"blue\"))      g.setColor(Color.blue);
      if(boldfarve.equals(\"black\"))      g.setColor(Color.black);
      g.drawOval((int) x, (int) y, 50, 50);

      //Ændr boldens Y fart lidt
      farty = farty + (Math.random() - 0.445566778899);
 
      //Ændr boldens X fart lidt
      fartx = fartx + (Math.random() - 0.445566778899);

      //Hvis bolden er uden for det tilladte område skal den rettes hen mod området
      if(x < 0)     fartx = Math.abs(fartx);
      if(x > 400)    fartx = -Math.abs(fartx);
      if(y < 0)        farty = Math.abs(farty);
      if(y > 200)    farty = -Math.abs(farty);

      //Vent lidt
      try{ Thread.sleep(17); } catch (Exception e) {};
    }
  }

  public void init()
  {
    antal = getParameter(\"Antalbolde\");
    if(antal == null) antal = \"1\";

    antalint = Integer.parseInt(antal);

    boldfarve = getParameter(\"Boldfarve\");
    if(boldfarve == null) boldfarve = \"black\";

    setBackground(Color.white);
    Graphics g = getGraphics();
   
    for(int i=10; i<(10+antalint); i++)
    {
      new Bold(g, 15+(i+5), 15+(i));
    }
  }
}
Avatar billede carstenknudsen Nybegynder
15. januar 2002 - 22:35 #8
I din run metode kan du lave dine mange
if\'er til if, else if, else if, så sparer
du lidt regnetid. Du skal nok heller ikke
sætte farven inde i din for løkke, det er
noget der tager tid med streng sammenligninger.
Avatar billede prankster Nybegynder
16. januar 2002 - 10:27 #9
Det er som sagt et program med nogle bolde der flyver rundt i billedet.....

Med denne kode gør de det ikke efter jeg har sat
\"if(boldfarve.equals(\"red\"))
g.setColor(Color.red);.........\"

Det kører simpelhen ikke, boldene sidder fast hvor de starter.....

Håber du kan hjælpe mig ;-)
Avatar billede carstenknudsen Nybegynder
16. januar 2002 - 13:27 #10
Du bliver nødt til at fortælle hvordan du kører programmet,
jeg kan compilere men der kommer intet ud overhovedet.
Hvordan ser din html fil ud?
Avatar billede prankster Nybegynder
16. januar 2002 - 15:07 #11
Sådan her:

<html>

<head>
  <title>BOLDE</title>
<head>

<body>
  <applet code=Bold.class width=400 height=250>
  <param name=Antalbolde value=\"5\">
  <param name=Boldfarve value=\"black\">
  </applet>
</body>

</html>
Avatar billede prankster Nybegynder
16. januar 2002 - 15:10 #12
Problemet er at uden \"if(boldfarve.equals(\"red\"))......\" og kun g.setColor(Color.black);
kan det godt køre prøv selv.....

Jeg ekperimentere jo med det hele, håber du kan hjælpe ;-)
Avatar billede prankster Nybegynder
16. januar 2002 - 15:19 #13
Forresten, hvordan giver jeg point til den jeg synes skal have dem!!!

Jeg er ny her på Eksperten!!!!!
Avatar billede carstenknudsen Nybegynder
16. januar 2002 - 15:28 #14
hvordan kører programmet hos mig kan den ikke
instantiere klassen Bold! Har du nogle parametre
til appletviewer?
Avatar billede prankster Nybegynder
17. januar 2002 - 19:39 #15
Hvis jeg kører det i appletviewer så skriver jeg:
under min java mappe,
\"appletviewer stuff\\Java-bog\\Bold.htm\"

Prøv uden de der \"if(Boldfarve.equals....\",
så virker den da!!!!

Men det ville da være dejligt hvis jeg kunne bruge de \"getParameter()\'er\", så jeg ikke skal ind i Bold.java hver gang jeg vil ændre et eller andet......
Avatar billede carstenknudsen Nybegynder
17. januar 2002 - 20:49 #16
Hm, jeg kan ikke få den til at køre. En ting
jeg er lidt bekymret over er, at du bruger
selve Applet klassen som tråd og du opretter
mange af dem.  Måske du skulle lave en
Bold klasse der ikke er en Applet og så
oprette dine bolde.
Avatar billede prankster Nybegynder
18. januar 2002 - 07:31 #17
Ja, måske skulle jeg det................

Tror du det ville virke på det tidspunkt ;-)

Nå det prøver jeg...
Avatar billede prankster Nybegynder
20. januar 2002 - 16:10 #18
LORTET VIRKER IKKE FOR FANDEN, ER DER IKKE NOGEN DER KAN HJÆLPE MIG.

MED DET HER LORT FOR DET VIRKER IKKE PIS OG LORT..................................................................................................................................................................................................................................................................................................
Avatar billede Kengun Praktikant
18. marts 2002 - 11:39 #19
Det bliver nok dessverre ingen points utdelet fra Pranktster i dette spørgsmål. Prankster er blevet deaktiveret. Se lige her: http://www.eksperten.dk/spm/186501
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