Toon posts:

[JAVA] createImage() bij JPanel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;

public class TestPanel extends JPanel 
{
private Image $osiFinal;
public TestPanel()
{
    super();
    setPreferredSize(new Dimension(500,500));
    $osiFinal=createImage(500,500);
    if($osiFinal==null)
    System.out.println("NULL");
    else
    System.out.println("NIET NULL");
}
public static void main(String [] args)
{
    new TestPanel();
}

}


Deze code geeft NULL als uitvoer, iemand enig idee waarom, creatImage() zou toch een image-object terug moeten geven?

Verwijderd

Deze code geeft NULL als uitvoer, iemand enig idee waarom, creatImage() zou toch een image-object terug moeten geven?
CreateImage werkt pas zodra het component op het scherm zichtbaar is. Een methode als paint wordt bijvoorbeeld pas aangeroepen wanneer dit het geval is, dus daar kan je wel een CreateImage doen. Misschien dat je het eerste moment dat het component zichtbaar wordt ook wel kan opvangen d.m.v. een component listener.

[ Voor 38% gewijzigd door Verwijderd op 22-03-2003 14:57 ]


Verwijderd

Topicstarter
En is er geen andere manier om aan een image te komen?

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

Alarmnummer

-= Tja =-

Check de docs:

public Image createImage(int width, int height)

Creates an off-screen drawable image to be used for double buffering.

Returns:
an off-screen drawable image, which can be used for double buffering. The return
value may be null if the component is not displayable.
This will always happen if GraphicsEnvironment.isHeadless() returns true.

[edit]
Waarom gebruik je een $als prefix? Omdat je een member bedoelt ipv een globale variable? Ik gebruik daar _ voor en zo ook wel een m_ als prefix. Die $ vind ik erg 'opdringerig'.

[ Voor 48% gewijzigd door Alarmnummer op 22-03-2003 15:15 ]


Verwijderd

En is er geen andere manier om aan een image te komen?
Kijk eens naar java.awt.Toolkit.
Of naar een BufferedImage.

[ Voor 27% gewijzigd door Verwijderd op 22-03-2003 15:14 ]