|
| Grafik i awt bliver beregnet to gange Fra : Henrik Thostrup Jens~ |
Dato : 29-09-01 00:40 |
|
Hej
Jeg sidder og leger med lidt fra´ktaler som jeg tegner i awt.
Problemet er at awt inisterer på at beregne fraktalen to gange. Nogle
forslag til hvordan det skal rettes / hvad jeg gør forkert
Henrik
| |
Martin Ehmsen (29-09-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 29-09-01 11:41 |
|
Henrik Thostrup Jensen wrote:
> Jeg sidder og leger med lidt fra´ktaler som jeg tegner i awt.
> Problemet er at awt inisterer på at beregne fraktalen to gange. Nogle
> forslag til hvordan det skal rettes / hvad jeg gør forkert
Det er meget svært at svare på, medmindre du viser os noget kode.
Ikke hele koden men de vigtigste dele og hvor du tror problemet etv.
kan være.
Mvh.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Henrik Thostrup Jens~ (29-09-2001)
| Kommentar Fra : Henrik Thostrup Jens~ |
Dato : 29-09-01 13:02 |
|
On Sat, 29 Sep 2001 12:40:57 +0200, Martin Ehmsen <thames@get2net.dk>
wrote:
>Henrik Thostrup Jensen wrote:
>> Jeg sidder og leger med lidt fra´ktaler som jeg tegner i awt.
>> Problemet er at awt inisterer på at beregne fraktalen to gange. Nogle
>> forslag til hvordan det skal rettes / hvad jeg gør forkert
>
>Det er meget svært at svare på, medmindre du viser os noget kode.
>Ikke hele koden men de vigtigste dele og hvor du tror problemet etv.
>kan være.
>
>Mvh.
>Martin Ehmsen
Her er koden hvor jeg laver selve framen
import java.awt.*;
import Mandelbrot;
public class Fractal extends Frame
{
final int WIDTH = 1000;
final int HEIGTH = 850;
public static void main(String[] args)
{
new Fractal();
}
public Fractal()
{
new Frame();
addWindowListener(new GenericWindowListener());
setSize(new Dimension(WIDTH,HEIGTH));
setResizable(false);
show();
}
public void paint (Graphics graphic)
{
Graphics2D g = (Graphics2D) graphic;
Mandelbrot mb = new Mandelbrot(WIDTH, HEIGTH);
mb.makeFractal(g);
}
}
Dette er alt mit awt kode, udover en linje kode i min mandelbrot
klasse, som tegner en prik(drawline)
Henrik
| |
Martin Ehmsen (29-09-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 29-09-01 14:20 |
|
Henrik Thostrup Jensen wrote:
> Her er koden hvor jeg laver selve framen
>
> import java.awt.*;
> import Mandelbrot;
Denne linie er redundant, import er (modsat fx C/C++) blot en
forklaring til Java kompileren at man vil kunne bruge navnen i de
forskellige pakker og klasser uden at skulle referer til den bestemte
pakke hele tiden.
Fx import java.awt.*; betyder at du vil kunne skrive Frame, når du vil
bruge en awt frame, i stedet for java.awt.Frame.
Man kan så diskutere om det ikke hjælper andre der skal læse din kode,
at man viser hvilke klasser man bruger.
Men det er en anden diskution.
> public class Fractal extends Frame
> {
> final int WIDTH = 1000;
> final int HEIGTH = 850;
>
> public static void main(String[] args)
> {
> new Fractal();
> }
>
> public Fractal()
> {
> new Frame();
Denne linie står jeg lidt uforstående overfor.
Du har allerede en Frame, når du skriver new Fractal() som netop
extender en Frame.
Så du burde vel få to vinduer når du gør sådan: En Fractal Frame og en
alm. Frame??
> addWindowListener(new GenericWindowListener());
> setSize(new Dimension(WIDTH,HEIGTH));
> setResizable(false);
> show();
> }
>
> public void paint (Graphics graphic)
> {
> Graphics2D g = (Graphics2D) graphic;
> Mandelbrot mb = new Mandelbrot(WIDTH, HEIGTH);
> mb.makeFractal(g);
Hvordan ser denne metode ud??
> }
>
> }
>
> Dette er alt mit awt kode, udover en linje kode i min mandelbrot
> klasse, som tegner en prik(drawline)
>
> Henrik
Mvh.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Henrik Thostrup Jens~ (29-09-2001)
| Kommentar Fra : Henrik Thostrup Jens~ |
Dato : 29-09-01 15:51 |
|
On Sat, 29 Sep 2001 15:19:32 +0200, Martin Ehmsen <thames@get2net.dk>
wrote:
>Henrik Thostrup Jensen wrote:
>> Her er koden hvor jeg laver selve framen
>>
>> import java.awt.*;
>> import Mandelbrot;
>
>Denne linie er redundant, import er (modsat fx C/C++) blot en
>forklaring til Java kompileren at man vil kunne bruge navnen i de
>forskellige pakker og klasser uden at skulle referer til den bestemte
>pakke hele tiden.
>Fx import java.awt.*; betyder at du vil kunne skrive Frame, når du vil
>bruge en awt frame, i stedet for java.awt.Frame.
>
>Man kan så diskutere om det ikke hjælper andre der skal læse din kode,
>at man viser hvilke klasser man bruger.
>Men det er en anden diskution.
Ja
>
>> public class Fractal extends Frame
>> {
>> final int WIDTH = 1000;
>> final int HEIGTH = 850;
>>
>> public static void main(String[] args)
>> {
>> new Fractal();
>> }
>>
>> public Fractal()
>> {
>> new Frame();
>
>Denne linie står jeg lidt uforstående overfor.
>Du har allerede en Frame, når du skriver new Fractal() som netop
>extender en Frame.
>Så du burde vel få to vinduer når du gør sådan: En Fractal Frame og en
>alm. Frame??
Får kun en. Har prøvet at fjerne den, og får samme resultat med at
fractalen bliver tegnet/beregnet to gange.
Har fået løst problemet ved at tage de tre linjer fra paint metoden og
smidt dem op i constructeren. Graphics2D g = (Graphics2D) graphic;
skulle dog lige laves om til g = getGraphics(); Nu er problemet så at
jeg ik selv kan styre hvornår fractalen blive tegnet da den blver
kaldt i constructeren, men den finder jeg nok ud af.
>
>> addWindowListener(new GenericWindowListener());
>> setSize(new Dimension(WIDTH,HEIGTH));
>> setResizable(false);
>> show();
>> }
>>
>> public void paint (Graphics graphic)
>> {
>> Graphics2D g = (Graphics2D) graphic;
>> Mandelbrot mb = new Mandelbrot(WIDTH, HEIGTH);
>> mb.makeFractal(g);
>
>Hvordan ser denne metode ud??
>
>> }
>>
>> }
>>
>> Dette er alt mit awt kode, udover en linje kode i min mandelbrot
>> klasse, som tegner en prik(drawline)
>>
>> Henrik
>
>
>Mvh.
>Martin Ehmsen
| |
|
|