Hallo allemaal,
Ik ben al enige tijd bezig geweest om een afbeelding op een javaframe te zetten.
Ik had het eerst werken in een applet form, maar toen ik dat wou omzetten naar een applicatie werkte het niet meer. Dat kwam doordat je de getImage van een applet niet kan gebruiken in een applicatie (frame).
Na wat zoek werk kwam ik erachter dat het toolkit.getImage() moest worden.
nu kan ik mijn programma zonder error's compilen, maar wanneer ik op de knop druk om het speelveld te laten weer te geven gebeurt er niets. Ik krijg dan in mijn dosboxje op de achtergrond geen foutmelding te zien.
Ik heb got, google en een aantal sites met java informatie doorzocht, maar heb het niet kunnen vinden of eroverheen gelezen.
Weet iemand wat er mis gaat?
Wanneer ik in public afbeelding() onderaan tekenSpelbord() aanzet (het comentaar weghaal) kan ik probleemloos compile, maar wanneer ik hem draai krijg ik een "Exception in thread "main" java.lang.NullPointerException".
Maar die melding is zo vaag dat ik niet weet wat ik ermee moet.
het mooist zou zijn als ik de afbeelding in een panel kan zetten en die dan rechts kan alignen. het panel en alignen lukt wel, maar ik krijg dan precies het zelfde probleem als wat ik nu heb.
even over mijzelf. Ik ben net een kleine 6 weken bezig met java voor school en maak gebruik van jCreator en j2sdk1.4_01
Ik ben al enige tijd bezig geweest om een afbeelding op een javaframe te zetten.
Ik had het eerst werken in een applet form, maar toen ik dat wou omzetten naar een applicatie werkte het niet meer. Dat kwam doordat je de getImage van een applet niet kan gebruiken in een applicatie (frame).
Na wat zoek werk kwam ik erachter dat het toolkit.getImage() moest worden.
nu kan ik mijn programma zonder error's compilen, maar wanneer ik op de knop druk om het speelveld te laten weer te geven gebeurt er niets. Ik krijg dan in mijn dosboxje op de achtergrond geen foutmelding te zien.
Ik heb got, google en een aantal sites met java informatie doorzocht, maar heb het niet kunnen vinden of eroverheen gelezen.
Weet iemand wat er mis gaat?
Wanneer ik in public afbeelding() onderaan tekenSpelbord() aanzet (het comentaar weghaal) kan ik probleemloos compile, maar wanneer ik hem draai krijg ik een "Exception in thread "main" java.lang.NullPointerException".
Maar die melding is zo vaag dat ik niet weet wat ik ermee moet.
het mooist zou zijn als ik de afbeelding in een panel kan zetten en die dan rechts kan alignen. het panel en alignen lukt wel, maar ik krijg dan precies het zelfde probleem als wat ik nu heb.
even over mijzelf. Ik ben net een kleine 6 weken bezig met java voor school en maak gebruik van jCreator en j2sdk1.4_01
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
| import java.awt.*;
import java.awt.event.*;
class Afbeelding extends Frame implements ActionListener
{
//container voor de afbeelding
private Image image;
//buttons
private Button btnTekenSpeelveld;
private Button btnEnd;
//panel voor de knopen
private Panel pnlButtons;
//panel voor de afbeelding
private Panel pnlSpeelveld;
public Afbeelding()
{
//maak de toolkit om de image op te halen
Toolkit toolkit = Toolkit.getDefaultToolkit();
image = toolkit.getImage("speelbordklein.jpg");
//wacht tot de image goed is geladen en ga daarna pas verder
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(image, 0);
try
{
mediaTracker.waitForID(0);
}
catch (InterruptedException ie)
{
System.err.println(ie);
System.exit(1);
}
//maak een knop aan
btnTekenSpeelveld = new Button("Teken Speelveld");
add(btnTekenSpeelveld);
btnTekenSpeelveld.addActionListener(this);
//maak een knop aan
btnEnd = new Button("Einde");
add(btnEnd);
btnEnd.addActionListener(this);
//maak een panel waarin de 2 bovenstaande knoppen ingezetworden
pnlButtons = new Panel(new FlowLayout(FlowLayout.CENTER));
pnlButtons.add(btnTekenSpeelveld);
pnlButtons.add(btnEnd);
add(pnlButtons, BorderLayout.SOUTH);
//windowslistener om venster af te sluiten
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//roep het teken speelveldaan zodat het speelveld getekents wordt
//hieronder moet eigenlijk tekenspeelbord aangeroepen worden, maar
//aangezien het niet werkt heb ik het maar in commentaar gezet en doe ik het
//via een knop
//tekenSpelbord();
}
public static void main(String args[])
{
System.out.println("Starting Afbeelding...");
Afbeelding mainFrame = new Afbeelding();
mainFrame.setSize(800, 600);
mainFrame.setTitle("bordspel");
mainFrame.setVisible(true);
}
public void tekenSpelbord()
//-teken het miniatuur bord rechtsboven in de hoek
//-teken het tekstvak
{
//zet de speelveld afbeelding in de variabele
Graphics g = getGraphics();
g.drawImage(image, 275, 25, 500, 331, null);
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == btnTekenSpeelveld)
{
this.tekenSpelbord();
}
if(event.getSource() == btnEnd)
{
afsluiten();
}
}
public void afsluiten()
{
System.exit(0);
}
} |
[ Voor 4% gewijzigd door Verwijderd op 30-10-2003 19:07 ]