Toon posts:

[JAVA] Width+height uitlezen uit explorer window

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag dames kmoet een applicatie schijven die de breedte en hoogte van het scherm uitleest uit de parameter van een html pagina

dit is een stukje van de code uiteraard moet ik nog van alles doen met die breedte en hoogte

public void paint(Graphics g)
{
int breedte,hoogte;

hoogte = Integer.parseInt(getParameter(Integer.toString(HEIGHT)));
breedte = Integer.parseInt(getParameter(Integer.toString(WIDTH)));

}

hij geeft alleen null terug hoe kan dit?

Verwijderd

mss return erin?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Volgens mij moet je opnieuw beginnen aan je it-opleiding.

@TS:
Het gaat om een applet?

[ Voor 9% gewijzigd door Alarmnummer op 05-01-2005 12:36 ]


Verwijderd

Alarmnummer schreef op woensdag 05 januari 2005 @ 12:35:
[...]
Volgens mij moet je opnieuw beginnen aan je it-opleiding.
Nu alweer? ben pas net begonnen :x, en het was maar een kleine suggestie....

Verwijderd

Ik wil me niet aangesproken voelen door 'dag dames' maar ik doe het toch ;)

Het lijkt wel alsof je vraagt om je code te debuggen. Ik zou zeggen, probeer het eerst zelf eens. Je vraag is niet helemaal duidelijk en het is niet duidelijk wat je allemaal hebt geprobeerd. Het is bijvoorbeeld niet duidelijk wat HEIGHT voor variabale/constante is. Je vertelt ook niet hoe je HTML file eruit ziet, hoe moet ik dan bepalen wat er fout gaat? Ook code-tags om de code zou het geheel wat leesbaarder maken.
Raden naar een oplossing werkt natuurlijk niet :) Je hebt totaal geen duidelijke informatie van de TS over hoe de rest van het programma eruit ziet. Btw kan je niet eens iets returnen omdat de signature van paint() nou eenmaal vast ligt ;)

[ Voor 29% gewijzigd door Verwijderd op 05-01-2005 12:40 ]


Verwijderd

Topicstarter
de HTML code is vrij eenvoudig

<html>
<APPLET code="opdracht3_2.class" width="640" height="480"></APPLET>
<html>

die width en height zijn dus de namen zoals deze in de HTML code staan en als het goed is kan je die dus met getParameter ophalen. probleem is dus alleen dat getParameter alleen strings kan ophalen en dit om integers gaat en ik dus daarom Integer.toString gebruik. ik moet er nog mee rekenen dus daarom gebruik ik ook weer Integer.parseInt om ze weer terug te veranderen in een integer.

uitreraard ben ik er al een hele tijd mee bezig maar kom er gewoon niet uit en hoopte dat jullie gotjes me konden helpen.

De rest van de code heb ik er niet bij vermeld omdat het nog niet van belang is en het zonder de rest van de code ook zou moeten werken al zal die dan niks laten zien.

Ik werk met een dosbox en notepad en zodra ik dus de applet opstart krijg ik een zooi foutmeldingen begindende met java.lang.NumberFormatException: null

[ Voor 32% gewijzigd door Verwijderd op 05-01-2005 12:45 ]


Verwijderd

Ok, maar dan klopt er nog vanalles niet met je code en types. Lees dit maar eens om te kijken hoe je parameters kan ophalen en definieren. Als je de methodes toepast zoals in dat verhaal werkt het allemaal wel. Ik kan je zelf wel precies vertellen hoe het moet maar daar leer je ook weinig van :)

[ Voor 29% gewijzigd door Verwijderd op 05-01-2005 12:47 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

code:
1
Integer.parseInt(getParameter(Integer.toString(HEIGHT)));

Wat is HEIGHT?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
height is de naam van de variabele in de html code: height="200"

het gekke is als ik HEIGHT neerzet in de java code dan geeft hij null terug als ik height neerzet dan geeft hij height is not a public in java.awt.Component; cannot be accesed from outside package. Om het even simpel te houden is dit nu mn code om te testen



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

public class opdracht3_2 extends Applet
{

public void paint(Graphics g)
{
String test = getParameter(Integer.toString(width));
}
}


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Dat is ook helemaal niet vreemd amdat het er helemaal niks mee te maken heeft. De enige reden dat het goed gaat is omdat HEIGHT een bestaande constante is die eigenlijk heel ergens anders voor dient.

De code die ik eerder heb gequote betekend eigenlijk het volgende:
haal de HEIGHT constante uit de ImageObserver interface en maak daar een string van. Geef dit nummer in string vorm vervolgens mee aan getParameter en geef de waarde van de PARAM tag met dat nummer als name terug.

Slaat als een tang op een varken.

Als je nu gewoon eens even in de api had gekeken dan had je gezien dat getParameter sowieso niet te gebruiken is om attributen van de applet tag op te halen. Als je vervolgens nog ietsje verder had gekeken had je gezien dat de Applet class uiteindelijk van java.awt.Component afstamt. En deze heeft gewoon de methoden getWidth() en getHeight()

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
dat eerste stukje wat je zegt heb ik ook geprobeerd maar dan nog geeft hij null terug ook al gebruik ik de PARAM in de HTML code.

ik probeer het nu met getHeight en dat werkt idd perfect. dit was een opdracht en er stond bij dat ik het kon doen met getParameter en Integer.parseInt vandaar dat ik zo liep te kloten ermee.

bedankt iig voor uw hulp allen ik doe het dus gewoon met getHeight en getWidth

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-05 11:04

Janoz

Moderator Devschuur®

!litemod

Je liep aan de verkeerde kant 'te kloten'

Wanneer je daadwerkelijke een <PARAM name="height" value="100"> bij je applet tag had staan dan had je deze inderdaad op kunnen vragen met:
Java:
1
int height=Integer.parseInt(getParameter("height"));

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
geprobeerd maar niet gelukt daarmee. dus gewoon maar getheight en getwitdh gebruikt
Pagina: 1