# Kleines Anzeige Problem(nur blanker Frame)



## javaman13 (10. Mrz 2012)

Hallo Leute!
Ich habe ein kleines Problem mit meinem Spieleprogramm.
Ich habe lange zeit daran programmiert(hab aber vergessen, es aus zu probieren), und jetzt zeigt mein Bildschirm einfach nichts an...
Da ich bis jetzt nur ohne GUI, also im Command Fenster, programmiert habe und das mein erster großer Schritt in Richtung Programmieren mit GUI ist, würde ich gerne fragen wer mir helfen kann.

Hier sind die Dateien(auf Pastebin für die die's interessiert)

Frame
Keys
Level
WorldGenerator2

Danke schon im vorhinein für die hilfreichen Einträge.


----------



## Camino (10. Mrz 2012)

Ich denke, du solltest deinem Frame auch etwas hinzufügen, was dieser dann anzeigen soll. Ansonsten siehst du halt auch nix...


----------



## javaman13 (10. Mrz 2012)

wir gesagt, bin neu, also bitte ein kleines Beispiel...

oder gleich die Auflösung, wie du magst


----------



## Camino (10. Mrz 2012)

Na ja, du hast halt nur einen Frame erzeugt, in dem aber noch nichts hinzugefügt wird:

```
import javax.swing.JFrame;
 
public class Frame extends JFrame{
        private static final long serialVersionUID = 1L;
        public static void main(String[] args)
        {
                new Frame().setVisible(true);
               
        }
 
        private Frame()
        {
                super("GotT");
                setSize(1024, 768);
                setResizable(true);
                setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
```

Diesem musst du mit 
	
	
	
	





```
add
```
 noch etwas hinzufügen. Oft fügt man dem JFrame ein JPanel hinzu, und auf diesem JPanel kannst du dann die Komponenten zusammenstellen, welche du dort haben möchtest. Dazu solltest du dir auch noch evtl. die LayoutManager anschauen, welche die Anordnung der Komponenten regeln. Der JFrame hat als Standard das BorderLayout, das JPanel das FlowLayout.

EDIT: Ich hab halt keine Ahnung, was du in dem Frame anzeigen oder darstellen möchtest. Das musst wohl schon eher du selbst wissen.

Aber du könntest z.B. ein JPanel erstellen, welchem Buttons hinzugefügt wird, und dieses Panel fügst du dann dem Frame hinzu:

```
...
JPanel myPanel = new JPanel();
myPanel.add(new JButton("Button 1"));
myPanel.add(new JButton("Button 2"));
myPanel.add(new JButton("Button 3"));
add(myPanel);
...
```
Aber wie schon gesagt, du musst halt auch auf die LayoutManager achten. Beim JFrame z.B. mit dem BorderLayout als Standard kannst du immer nur 1 Komponente in den jeweiligen Bereich hinzufügen, d.h. du müsstest die LayoutManager schachteln, wenn du mehrere Sachen dort anzeigen möchtest.


----------



## javaman13 (10. Mrz 2012)

Ich soll also jtzt zb schreiben

```
add(new Level)
```
oder???


----------



## Camino (10. Mrz 2012)

javaman13 hat gesagt.:


> Ich soll also jtzt zb schreiben
> 
> ```
> add(new Level)
> ...



Also wenn dann 
	
	
	
	





```
add(new Level());
```
. Aber was ist denn Level? Evtl. musst du das erst noch einem Container wie z.B. JPanel hinzufügen...


----------



## Camino (10. Mrz 2012)

Vielleicht schaust du auch mal hier (könnte dir vielleicht auch weiterhelfen):
http://www.java-forum.org/awt-swing-swt/43939-zeichnen-swing-tutorial.html


----------



## javaman13 (10. Mrz 2012)

Level ist die andere Java klasse, in der auch das g2d.drawImage enthalten ist...


----------



## Camino (10. Mrz 2012)

OK, dann solltest du dir mal den geposteten Link anschauen, da geht es genau darum. Also, wie so etwas in den Frame gebracht wird. Ist auch Beispielcode dabei. Ich hab leider mit Zeichnen in Swing und graphics nicht so die Erfahrung und Ahnung, eher mit den Swing-Komponenten.


----------



## javaman13 (10. Mrz 2012)

Ok Danke...


----------



## javaman13 (11. Mrz 2012)

So alles ausprobiert, aber leider funzt nichts 
hier noch mal alles

Frame:

```
package Game;
 
import javax.swing.JFrame;
 
public class Frame extends JFrame{
        private static final long serialVersionUID = 1L;
        public static void main(String[] args)
        {
                new Frame().setVisible(true);
               
        }
 
        private Frame()
        {
                super("GotT");
                setSize(1024, 768);
                setResizable(true);
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                add(new Level());
}
}
```

Level:

```
package Game;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class Level implements ActionListener {
	
	WorldGenerator2 g;
	Keys k;
	Timer t;

	
	Image q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32;
	Image q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60;
	
	int x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32;
	int x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60;

	int y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27, y28, y29, y30, y31, y32;
	int y33, y34, y35, y36, y37, y38, y39, y40, y41, y42, y43, y44, y45, y46, y47, y48, y49, y50, y51, y52, y53, y54, y55, y56, y57, y58, y59, y60;	
	
	int dx = k.getdx();
	int dy = k.getdy();
	
	public void timer(){
			t = new Timer(5, this);
	}
	public void geti()
	{
		q1 = g.getImage1();
		q2 = g.getImage2();
		q3 = g.getImage3();
		q4 = g.getImage4();
		q5 = g.getImage5();
		q6 = g.getImage6();
		q7 = g.getImage7();
		q8 = g.getImage8();
		q9 = g.getImage9();
		q10 = g.getImage10();
		q11 = g.getImage11();
		q12 = g.getImage12();
		q13 = g.getImage13();
		q14 = g.getImage14();
		q15 = g.getImage15();
		q16 = g.getImage16();
		q17 = g.getImage17();
		q18 = g.getImage18();
		q19 = g.getImage19();
		q20 = g.getImage20();
		q21 = g.getImage21();
		q22 = g.getImage22();
		q23 = g.getImage23();
		q24 = g.getImage24();
		q25 = g.getImage25();
		q26 = g.getImage26();
		q27 = g.getImage27();
		q28 = g.getImage28();
		q29 = g.getImage29();
		q30 = g.getImage30();
		q31 = g.getImage31();
		q32 = g.getImage32();
		q33 = g.getImage33();
		q34 = g.getImage34();
		q35 = g.getImage35();
		q36 = g.getImage36();
		q37 = g.getImage37();
		q38 = g.getImage38();
		q39 = g.getImage39();
		q40 = g.getImage40();
		q41 = g.getImage41();
		q42 = g.getImage42();
		q43 = g.getImage43();
		q44 = g.getImage44();
		q45 = g.getImage45();
		q46 = g.getImage46();
		q47 = g.getImage47();
		q48 = g.getImage48();
		q49 = g.getImage49();
		q50 = g.getImage50();
		q51 = g.getImage51();
		q52 = g.getImage52();
		q53 = g.getImage53();
		q54 = g.getImage54();
		q55 = g.getImage55();
		q56 = g.getImage56();
		q57 = g.getImage57();
		q58 = g.getImage58();
		q59 = g.getImage59();
		q60 = g.getImage60();
	}

	public void x(){		//Definiert die x Koordinate
		x1 = 300;
		x2 = 200;
		x3 = 400;
		x4 = 300;
		x5 = 300;
		x6 = 400;
		x7 = 500;
		x8 = 500;
		x9 = 400;
		x10 = 500;
		x11 = 600;
		x12 = 500;
		x13 = 300;
		x14 = 600;
		x15 = 700;
		x16 = 200;
		x17 = 300;
		x18 = 400;
		x19 = 500;
		x20 = 600;
		x21 = 600;
		x22 = 700;
		x23 = 400;
		x24 = 400;
		x25 = 500;
		x26 = 500;
		x27 = 600;
		x28 = 700;
		x29 = 600;
		x30 = 600;
		x31 = 700;
		x32 = 800;
		x33 = 800;
		x34 = 700;
		x35 = 800;
		x36 = 700;
		x37 = 500;
		x38 = 600;
		x39 = 700;
		x40 = 800;
		x41 = 800;
		x42 = 900;
		x43 = 900;
		x44 = 800;
		x45 = 800;
		x46 = 900;
		x47 = 900;
		x48 = 1000;
		x49 = 1000;
		x50 = 900;
		x51 = 900;
		x52 = 900;
		x53 = 700;
		x54 = 800;
		x55 = 800;
		x56 = 1000;
		x57 = 1000;
		x58 = 1100;
		x59 = 1100;
		x60 = 1200;
	}
	
	public void y(){			//Definiert die y Koordinate
		y1 = 300;
		y2 = 300;
		y3 = 400;
		y4 = 400;
		y5 = 500;
		y6 = 400;
		y7 = 200;
		y8 = 300;
		y9 = 500;
		y10 = 400;
		y11 = 300;
		y12 = 500;
		y13 = 600;
		y14 = 400;
		y15 = 400;
		y16 = 700;
		y17 = 700;
		y18 = 600;
		y19 = 600;
		y20 = 500;
		y21 = 600;
		y22 = 500;
		y23 = 800;
		y24 = 700;
		y25 = 700;
		y26 = 800;
		y27 = 700;
		y28 = 500;
		y29 = 900;
		y30 = 700;
		y31 = 800;
		y32 = 400;
		y33 = 500;
		y34 = 800;
		y35 = 500;
		y36 = 900;
		y37 = 1000;
		y38 = 1000;
		y39 = 1000;
		y40 = 700;
		y41 = 800;
		y42 = 500;
		y43 = 500;
		y44 = 900;
		y45 = 1000;
		y46 = 700;
		y47 = 800;
		y48 = 500;
		y49 = 600;
		y50 = 900;
		y51 = 1000;
		y52 = 1100;
		y53 = 1100;
		y54 = 1100;
		y55 = 1200;
		y56 = 800;
		y57 = 900;
		y58 = 800;
		y59 = 700;
		y60 = 800;
	}
	
	public void move(){			//Macht es möglich, dass der Hintergrund sich bewegt
		x1 = x1 + dx;
		x2 = x2 + dx;
		x3 = x3 + dx;
		x4 = x4 + dx;
		x5 = x5 + dx;
		x6 = x6 + dx;
		x7 = x7 + dx;
		x8 = x8 + dx;
		x9 = x9 + dx;
		x10 = x10 + dx;
		x11 = x11 + dx;
		x12 = x12 + dx;
		x13 = x13 + dx;
		x14 = x14 + dx;
		x15 = x15 + dx;
		x16 = x16 + dx;
		x17 = x17 + dx;
		x18 = x18 + dx;
		x19 = x19 + dx;
		x20 = x20 + dx;
		x21 = x21 + dx;
		x22 = x22 + dx;
		x23 = x23 + dx;
		x24 = x24 + dx;
		x25 = x25 + dx;
		x26 = x26 + dx;
		x27 = x27 + dx;
		x28 = x28 + dx;
		x29 = x29 + dx;
		x30 = x30 + dx;
		x31 = x31 + dx;
		x32 = x32 + dx;
		x33 = x33 + dx;
		x34 = x34 + dx;
		x35 = x35 + dx;
		x36 = x36 + dx;
		x37 = x37 + dx;
		x38 = x38 + dx;
		x39 = x39 + dx;
		x40 = x40 + dx;
		x41 = x41 + dx;
		x42 = x42 + dx;
		x43 = x43 + dx;
		x44 = x44 + dx;
		x45 = x45 + dx;
		x46 = x46 + dx;
		x47 = x47 + dx;
		x48 = x48 + dx;
		x49 = x49 + dx;
		x50 = x50 + dx;
		x51 = x51 + dx;
		x52 = x52 + dx;
		x53 = x53 + dx;
		x54 = x54 + dx;
		x55 = x55 + dx;
		x56 = x56 + dx;
		x57 = x57 + dx;
		x58 = x58 + dx;
		x59 = x59 + dx;
		x60 = x60 + dx;
		
		y1 = y1 + dy;
		y2 = y2 + dy;
		y3 = y3 + dy;
		y4 = y4 + dy;
		y5 = y5 + dy;
		y6 = y6 + dy;
		y7 = y7 + dy;
		y8 = y8 + dy;
		y9 = y9 + dy;
		y10 = y10 + dy;
		y11 = y11 + dy;
		y12 = y12 + dy;
		y13 = y13 + dy;
		y14 = y14 + dy;
		y15 = y15 + dy;
		y16 = y16 + dy;
		y17 = y17 + dy;
		y18 = y18 + dy;
		y19 = y19 + dy;
		y20 = y20 + dy;
		y21 = y21 + dy;
		y22 = y22 + dy;
		y23 = y23 + dy;
		y24 = y24 + dy;
		y25 = y25 + dy;
		y26 = y26 + dy;
		y27 = y27 + dy;
		y28 = y28 + dy;
		y29 = y29 + dy;
		y30 = y30 + dy;
		y31 = y31 + dy;
		y32 = y32 + dy;
		y33 = y33 + dy;
		y34 = y34 + dy;
		y35 = y35 + dy;
		y36 = y36 + dy;
		y37 = y37 + dy;
		y38 = y38 + dy;
		y39 = y39 + dy;
		y40 = y40 + dy;
		y41 = y41 + dy;
		y42 = y42 + dy;
		y43 = y43 + dy;
		y44 = y44 + dy;
		y45 = y45 + dy;
		y46 = y46 + dy;
		y47 = y47 + dy;
		y48 = y48 + dy;
		y49 = y49 + dy;
		y50 = y50 + dy;
		y51 = y51 + dy;
		y52 = y52 + dy;
		y53 = y53 + dy;
		y54 = y54 + dy;
		y55 = y55 + dy;
		y56 = y56 + dy;
		y57 = y57 + dy;
		y58 = y58 + dy;
		y59 = y59 + dy;
		y60 = y60 + dy;
	}
	
	public void paint(Graphics g2){
		Graphics2D g2d = (Graphics2D) g2;		//Sollte eigentlich alles am Bildschirm ausgeben
		
		g2d.drawImage(q1, x1, y1, null);
		g2d.drawImage(q2, x2, y2, null);
		g2d.drawImage(q3, x3, y3, null);
		g2d.drawImage(q4, x4, y4, null);
		g2d.drawImage(q5, x5, y5, null);
		g2d.drawImage(q6, x6, y6, null);
		g2d.drawImage(q7, x7, y7, null);
		g2d.drawImage(q8, x8, y8, null);
		g2d.drawImage(q9, x9, y9, null);
		g2d.drawImage(q10, x10, y10, null);
		g2d.drawImage(q11, x11, y11, null);
		g2d.drawImage(q12, x12, y12, null);
		g2d.drawImage(q13, x13, y13, null);
		g2d.drawImage(q14, x14, y14, null);
		g2d.drawImage(q15, x15, y15, null);
		g2d.drawImage(q16, x16, y16, null);
		g2d.drawImage(q17, x17, y17, null);
		g2d.drawImage(q18, x18, y18, null);
		g2d.drawImage(q19, x19, y19, null);
		g2d.drawImage(q20, x20, y20, null);
		g2d.drawImage(q21, x21, y21, null);
		g2d.drawImage(q22, x22, y22, null);
		g2d.drawImage(q23, x23, y23, null);
		g2d.drawImage(q24, x24, y24, null);
		g2d.drawImage(q25, x25, y25, null);
		g2d.drawImage(q26, x26, y26, null);
		g2d.drawImage(q27, x27, y27, null);
		g2d.drawImage(q28, x28, y28, null);
		g2d.drawImage(q29, x29, y29, null);
		g2d.drawImage(q30, x30, y30, null);
		g2d.drawImage(q31, x31, y31, null);
		g2d.drawImage(q32, x32, y32, null);
		g2d.drawImage(q33, x33, y33, null);
		g2d.drawImage(q34, x34, y34, null);
		g2d.drawImage(q35, x35, y35, null);
		g2d.drawImage(q36, x36, y36, null);
		g2d.drawImage(q37, x37, y37, null);
		g2d.drawImage(q38, x38, y38, null);
		g2d.drawImage(q39, x39, y39, null);
		g2d.drawImage(q40, x40, y40, null);
		g2d.drawImage(q41, x41, y41, null);
		g2d.drawImage(q42, x42, y42, null);
		g2d.drawImage(q43, x43, y43, null);
		g2d.drawImage(q44, x44, y44, null);
		g2d.drawImage(q45, x45, y45, null);
		g2d.drawImage(q46, x46, y46, null);
		g2d.drawImage(q47, x47, y47, null);
		g2d.drawImage(q48, x48, y48, null);
		g2d.drawImage(q49, x49, y49, null);
		g2d.drawImage(q50, x50, y50, null);
		g2d.drawImage(q51, x51, y51, null);
		g2d.drawImage(q52, x52, y52, null);
		g2d.drawImage(q53, x53, y53, null);
		g2d.drawImage(q54, x54, y54, null);
		g2d.drawImage(q55, x55, y55, null);
		g2d.drawImage(q56, x56, y56, null);
		g2d.drawImage(q57, x57, y57, null);
		g2d.drawImage(q58, x58, y58, null);
		g2d.drawImage(q59, x59, y59, null);
		g2d.drawImage(q60, x60, y60, null);
	}
	public void actionPerformed(ActionEvent arg0) {		//Sorgt dafür, dass move und paint immer upgedated wird
		paint(null);
		move();
		System.out.println("Funktioniert");
		
		
	}
}
```

WorldGenerator2:

```
package Game;

import java.awt.Image;
import java.util.Random;

import javax.swing.ImageIcon;

public class WorldGenerator2 {
	

	ImageIcon b = new ImageIcon("C:/GotT/boden.png");
	ImageIcon s = new ImageIcon("C:/GotT/stein.png");
	Random rand = new Random();
		int o = rand.nextInt(7);
	
	
	Image q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32;
	Image q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60;
	Image b1, b2;
	Image f1, f2, f3, f4, f5, f6, f7, f8, f9;
	
public void w1()		//createt jedes einzelne 100 x 100 feld
{
	if (o == 6)
		q1 = s.getImage();
	else
		q1 = b.getImage();
}
	Random r1;{			//sorgd dafür, dass wieder zufällig zwischen Stein und gras ausgewählt wird
	o = r1.nextInt();
	}
public void w2()
{
	if (o == 6)
		q2 = s.getImage();
	else
		q2 = b.getImage();
}
Random r2;{
o = r2.nextInt();
}
	
public void w3()
{
	if (o == 6)
		q3 = s.getImage();
	else
		q3 = b.getImage();
}
	Random r3;{
	o = r3.nextInt();
	}
public void w4()
{
	if (o == 6)
		q4 = s.getImage();
	else
		q4 = b.getImage();
}
Random r4;{
o = r4.nextInt();
}
	
public void w5()
{
	if (o == 6)
		q5 = s.getImage();
	else
		q5 = b.getImage();
}
	Random r5;{
	o = r5.nextInt();
	}
public void w6()
{
	if (o == 6)
		q6 = s.getImage();
	else
		q6 = b.getImage();
}
Random r6;{
	o = r6.nextInt();
}
			
public void w7()
{
	if (o == 6)
		q7 = s.getImage();
	else
		q7 = b.getImage();
}
Random r7;{
	o = r7.nextInt();
}
public void w8()
{
	if (o == 6)
		q8 = s.getImage();
	else
		q8 = b.getImage();
}
Random r8;{
o = r8.nextInt();
}public void w9()
{
	if (o == 6)
		q9 = s.getImage();
	else
		q9 = b.getImage();
}
	Random r9;{
	o = r9.nextInt();
	}
public void w10()
{
	if (o == 6)
		q10 = s.getImage();
	else
		q10 = b.getImage();
}
Random r10;{
o = r10.nextInt();
}
	
public void w11()
{
	if (o == 6)
		q11 = s.getImage();
	else
		q11 = b.getImage();
}
	Random r11;{
	o = r11.nextInt();
	}
public void w12()
{
	if (o == 6)
		q12 = s.getImage();
	else
		q12 = b.getImage();
}
Random r12;{
o = r12.nextInt();
}
	
public void w13()
{
	if (o == 6)
		q13 = s.getImage();
	else
		q13 = b.getImage();
}
	Random r13;{
	o = r13.nextInt();
	}
public void w14()
{
	if (o == 6)
		q14 = s.getImage();
	else
		q14 = b.getImage();
}
Random r14;{
	o = r14.nextInt();
}
			
public void w15()
{
	if (o == 6)
		q15 = s.getImage();
	else
		q15 = b.getImage();
}
Random r15;{
	o = r15.nextInt();
}
public void w16()
{
	if (o == 6)
		q16 = s.getImage();
	else
		q16 = b.getImage();
}
Random r16;{
o = r16.nextInt();
}			
public void w17()
{
	if (o == 6)
		q17 = s.getImage();
	else
		q17 = b.getImage();
}
	Random r17;{
	o = r17.nextInt();
	}
	public void w18()
	{
		if (o == 6)
			q18 = s.getImage();
		else
			q18 = b.getImage();
	}
		Random r18;{
		o = r18.nextInt();
		}
	public void w19()
	{
		if (o == 6)
			q19 = s.getImage();
		else
			q19 = b.getImage();
	}
	Random r19;{
	o = r19.nextInt();
	}
		
	public void w20()
	{
		if (o == 6)
			q20 = s.getImage();
		else
			q20 = b.getImage();
	}
		Random r20;{
		o = r20.nextInt();
		}
	public void w21()
	{
		if (o == 6)
			q21 = s.getImage();
		else
			q21 = b.getImage();
	}
	Random r21;{
	o = r21.nextInt();
	}
		
	public void w22()
	{
		if (o == 6)
			q22 = s.getImage();
		else
			q22 = b.getImage();
	}
		Random r22;{
		o = r22.nextInt();
		}
	public void w23()
	{
		if (o == 6)
			q23 = s.getImage();
		else
			q23 = b.getImage();
	}
	Random r23;{
		o = r23.nextInt();
	}
				
	public void w24()
	{
		if (o == 6)
			q24 = s.getImage();
		else
			q24 = b.getImage();
	}
	Random r24;{
		o = r24.nextInt();
	}
	public void w25()
	{
		if (o == 6)
			q25 = s.getImage();
		else
			q25 = b.getImage();
	}
	Random r25;{
	o = r25.nextInt();
	}
	public void w26()
	{
		if (o == 6)
			q26 = s.getImage();
		else
			q26 = b.getImage();
	}
		Random r26;{
		o = r26.nextInt();
		}
	public void w27()
	{
		if (o == 6)
			q27 = s.getImage();
		else
			q27 = b.getImage();
	}
	Random r27;{
	o = r27.nextInt();
	}
public void w28()
{
	if (o == 6)
		q28 = s.getImage();
	else
		q28 = b.getImage();
}
Random r28;{
o = r28.nextInt();
}
	
public void w29()
{
	if (o == 6)
		q29 = s.getImage();
	else
		q29 = b.getImage();
}
	Random r29;{
	o = r29.nextInt();
	}
public void w30()
{
	if (o == 6)
		q30 = s.getImage();
	else
		q30 = b.getImage();
}
Random r30;{
o = r30.nextInt();
}
	
public void w31()
{
	if (o == 6)
		q31 = s.getImage();
	else
		q31 = b.getImage();
}
	Random r31;{
	o = r31.nextInt();
	}
public void w32()
{
	if (o == 6)
		q32 = s.getImage();
	else
		q32 = b.getImage();
}
Random r32;{
	o = r32.nextInt();
}
			
public void w33()
{
	if (o == 6)
		q33 = s.getImage();
	else
		q33 = b.getImage();
}
Random r33;{
	o = r33.nextInt();
}
public void w34()
{
	if (o == 6)
		q34 = s.getImage();
	else
		q34 = b.getImage();
}
Random r34;{
o = r34.nextInt();
}public void w35()
{
	if (o == 6)
		q35 = s.getImage();
	else
		q35 = b.getImage();
}
	Random r35;{
	o = r35.nextInt();
	}
public void w36()
{
	if (o == 6)
		q36 = s.getImage();
	else
		q36 = b.getImage();
}
Random r36;{
o = r36.nextInt();
}
	
public void w37()
{
	if (o == 6)
		q37 = s.getImage();
	else
		q37 = b.getImage();
}
	Random r37;{
	o = r37.nextInt();
	}
public void w38()
{
	if (o == 6)
		q38 = s.getImage();
	else
		q38 = b.getImage();
}
Random r38;{
o = r38.nextInt();
}
	
public void w39()
{
	if (o == 6)
		q39 = s.getImage();
	else
		q39 = b.getImage();
}
	Random r39;{
	o = r39.nextInt();
	}
public void w40()
{
	if (o == 6)
		q40 = s.getImage();
	else
		q40 = b.getImage();
}
Random r40;{
	o = r40.nextInt();
}
			
public void w41()
{
	if (o == 6)
		q41 = s.getImage();
	else
		q41 = b.getImage();
}
Random r41;{
	o = r41.nextInt();
}
public void w42()
{
	if (o == 6)
		q42 = s.getImage();
	else
		q42 = b.getImage();
}
Random r42;{
o = r42.nextInt();
}			

public void w43()
{
	if (o == 6)
		q43 = s.getImage();
	else
		q43 = b.getImage();
}
	Random r43;{
	o = r1.nextInt();
	}
public void w44()
{
	if (o == 6)
		q44 = s.getImage();
	else
		q44 = b.getImage();
}
Random r44;{
o = r44.nextInt();
}
	
public void w45()
{
	if (o == 6)
		q45 = s.getImage();
	else
		q45 = b.getImage();
}
	Random r45;{
	o = r45.nextInt();
	}
public void w46()
{
	if (o == 6)
		q46 = s.getImage();
	else
		q46 = b.getImage();
}
Random r46;{
o = r46.nextInt();
}
	
public void w47()
{
	if (o == 6)
		q47 = s.getImage();
	else
		q47 = b.getImage();
}
	Random r47;{
	o = r47.nextInt();
	}
public void w48()
{
	if (o == 6)
		q48 = s.getImage();
	else
		q48 = b.getImage();
}
Random r48;{
	o = r48.nextInt();
}
			
public void w49()
{
	if (o == 6)
		q49 = s.getImage();
	else
		q49 = b.getImage();
}
Random r49;{
	o = r49.nextInt();
}
public void w50()
{
	if (o == 6)
		q50 = s.getImage();
	else
		q50 = b.getImage();
}
Random r50;{
o = r50.nextInt();
}public void w51()
{
	if (o == 6)
		q51 = s.getImage();
	else
		q51 = b.getImage();
}
	Random r51;{
	o = r51.nextInt();
	}
public void w52()
{
	if (o == 6)
		q52 = s.getImage();
	else
		q52 = b.getImage();
}
Random r52;{
o = r52.nextInt();
}
	
public void w53()
{
	if (o == 6)
		q53 = s.getImage();
	else
		q53 = b.getImage();
}
	Random r53;{
	o = r53.nextInt();
	}
public void w54()
{
	if (o == 6)
		q54 = s.getImage();
	else
		q54 = b.getImage();
}
Random r54;{
o = r54.nextInt();
}
	
public void w55()
{
	if (o == 6)
		q55 = s.getImage();
	else
		q55 = b.getImage();
}
	Random r55;{
	o = r55.nextInt();
	}
public void w56()
{
	if (o == 6)
		q56 = s.getImage();
	else
		q56 = b.getImage();
}
Random r56;{
	o = r56.nextInt();
	}
public void w57()
{
	if (o == 6)
		q57 = s.getImage();
	else
		q57 = b.getImage();
}
	Random r57;{
	o = r57.nextInt();
	}
public void w58()
{
	if (o == 6)
		q58 = s.getImage();
	else
		q58 = b.getImage();
}
Random r58;{
o = r58.nextInt();
}
	
public void w59()
{
	if (o == 6)
		q59 = s.getImage();
	else
		q59 = b.getImage();
}
	Random r59;{
	o = r59.nextInt();
	}
public void w60()
{
	if (o == 6)
		q60 = s.getImage();
	else
		q60 = b.getImage();
}
public Image getImage1(){
	return q1;
}
public Image getImage2(){
	return q2;
}
public Image getImage3(){
	return q3;
}
public Image getImage4(){
	return q4;
}
public Image getImage5(){
	return q5;
}
public Image getImage6(){
	return q6;
}
public Image getImage7(){
	return q7;
}
public Image getImage8(){
	return q8;
}
public Image getImage9(){
	return q9;
}
public Image getImage10(){
	return q10;
}
public Image getImage11(){
	return q11;
}
public Image getImage12(){
	return q12;
}
public Image getImage13(){
	return q13;
}
public Image getImage14(){
	return q14;
}
public Image getImage15(){
	return q15;
}
public Image getImage16(){
	return q16;
}
public Image getImage17(){
	return q17;
}
public Image getImage18(){
	return q18;
}
public Image getImage19(){
	return q19;
}
public Image getImage20(){
	return q20;
}
public Image getImage21(){
	return q21;
}
public Image getImage22(){
	return q22;
}
public Image getImage23(){
	return q23;
}
public Image getImage24(){
	return q24;
}
public Image getImage25(){
	return q25;
}
public Image getImage26(){
	return q26;
}
public Image getImage27(){
	return q27;
}
public Image getImage28(){
	return q28;
}
public Image getImage29(){
	return q29;
}
public Image getImage30(){
	return q30;
}
public Image getImage31(){
	return q31;
}
public Image getImage32(){
	return q32;
}
public Image getImage33(){
	return q33;
}
public Image getImage34(){
	return q34;
}
public Image getImage35(){
	return q35;
}
public Image getImage36(){
	return q36;
}
public Image getImage37(){
	return q37;
}
public Image getImage38(){
	return q38;
}
public Image getImage39(){
	return q39;
}
public Image getImage40(){
	return q40;
}
public Image getImage41(){
	return q41;
}
public Image getImage42(){
	return q42;
}
public Image getImage43(){
	return q43;
}
public Image getImage44(){
	return q44;
}
public Image getImage45(){
	return q45;
}
public Image getImage46(){
	return q46;
}
public Image getImage47(){
	return q47;
}
public Image getImage48(){
	return q48;
}
public Image getImage49(){
	return q49;
}
public Image getImage50(){
	return q50;
}
public Image getImage51(){
	return q51;
}
public Image getImage52(){
	return q52;
}
public Image getImage53(){
	return q53;
}
public Image getImage54(){
	return q54;
}
public Image getImage55(){
	return q55;
}
public Image getImage56(){
	return q56;
}
public Image getImage57(){
	return q57;
}
public Image getImage58(){
	return q58;
}
public Image getImage59(){
	return q59;
}
public Image getImage60(){
	return q60;
}
}
```


```
package Game;

import java.awt.event.KeyEvent;

public class Keys { //Holt sich die Keys
	public int dx, dy;
	
	 public void keyPressed(KeyEvent e) {
         int key = e.getKeyCode();
         if (key == KeyEvent.VK_A)
         {
        	 dx = -1;
         }
        
         if (key == KeyEvent.VK_D)
         {
        	 	dx = 1; 
         }
                
         if (key == KeyEvent.VK_S)
         {
        	 	dy = 1;
         }
         
         if (key == KeyEvent.VK_W)
         {
        	 	dy = -1;
         }
	 }

 public void keyReleased(KeyEvent e) {
         int key = e.getKeyCode();

         if (key == KeyEvent.VK_LEFT)
         {
                dx = 0;
         }

         if (key == KeyEvent.VK_RIGHT)
         {
                dx = 0;
         }
        
         if (key == KeyEvent.VK_UP)
         {
        	 	dy = 0;
         }
         
         if (key == KeyEvent.VK_W)
         {
        	 	dy = 0;
         }
       }
 
 public int getdx(){
	 return dx;
 }
 public int getdy(){
	 return dy;
 }
 }
```

Als Errormeldung bekomme ich immer:

```
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method add(Component) in the type Container is not applicable for the arguments (Level)

	at Game.Frame.<init>(Frame.java:19)
	at Game.Frame.main(Frame.java:9)
```

Ich weis nicht mehr weiter...
sitze schon seit gestern die ganze zeit herum, aber bekomme immer eine Fehlermeldung heraus!

HIIIIIIILLLLLLLLLFFFFFFFEEEEEE

Sorry für den langen Post.

javaman13


----------



## bERt0r (11. Mrz 2012)

Also ich würde dir raten, erstmal ein paar Tutorials über Grundlagen zu machen. Von Arrays und Collections hast du anscheinend noch nichts gehört oder weißt sie nicht einzusetzen. Dann würde ich dir raten, erstmal eine einfache GUI Oberfläche zu machen - ein Fenster in dem HelloWorld steht.
Hier im Forum gibts unter den FAQ eine Menge Tutorials.


----------



## Camino (11. Mrz 2012)

Du hättest halt mal den von mir verlinkten Artikel genauer durchlesen sollen. Da wird ja auch auf eine Klasse gezeichnet, welche von JComponent abgeleitet ist. Du hast nur deine Klasse Level. Die wird wahrscheinlich so nicht in den Frame eingefügt werden können.

Aber es ist vielleicht wirklich besser, erst mal klein anzufangen, sich die Grundlagen z.B. aus dem Tutorial anzueignen und dann das alles nach und nach weiter zu entwickeln.


----------



## javaman13 (11. Mrz 2012)

Ich kenn mich halt nicht so aus mit bildern und co. einfügen.
Habe bis jetzt nur mit Buttons und Textfeldern gearbeitet.

z.B.:

```
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;


public class Main extends JFrame implements ActionListener{
	private static final long serialVersionUID = 1L;

	public static void main(String[] args)
	{
		new Main().setVisible(true);
		
	}
	private Main()
	{
		
		super("GotT");
		setSize(600, 600);
		setResizable(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		
		JButton button = new JButton("Nicht Klicken!");
		button.setActionCommand("click");
		button.addActionListener(this);
		
		JMenuBar bar = new JMenuBar();
		JMenu file = new JMenu("File");
		JMenuItem close = new JMenuItem("Exit");
		close.addActionListener(this);
		
		JMenuItem extra = new JMenu("Extra");
		JMenuItem hallo = new JMenuItem("Hallo");
		JMenuItem hallo2 = new JMenuItem("HALLO");
		JTextField text = new JTextField();
		
		extra.add(hallo);
		extra.add(hallo2);
		
		file.add(extra);
		file.addSeparator();
		file.add(close);
		
		bar.add(file);
		setJMenuBar(bar);
		add(text, BorderLayout.CENTER);
		add(button, BorderLayout.WEST);

	}
	public void actionPerformed(ActionEvent e) {
		String name = e.getActionCommand();
		
		if (name.equals("click")){
			System.out.println("Du hast den Knopf gedrückt!!!");
			System.out.println("Böse, böse...");
		}
		else if (name.equals("Exit"))
		{
			System.out.println("Closed");
			System.exit(0);
		}	
	}
}
```


----------



## Camino (11. Mrz 2012)

Ja, ich kenn mich (wie gesagt) mit dem Zeichnen in Swing auch nicht so gut aus. Aber die Fehlermeldung sagt dir doch schon einiges: nämlich dass du mit add in den Frame kein Level einfügen kannst. In dem verlinkten Tutorial wurde ein JComponent als Container genommen.


----------



## bERt0r (11. Mrz 2012)

Das hat nichts mit Bildern zu tun, solange du noch nicht weißt was ein Array ist hat es keinen Sinn mit der GUI zu experimentieren.


----------



## javaman13 (11. Mrz 2012)

1.
Ich weiß sehr wohl was ein Array(eine ArrayList) ist

2.
Ich habe das verlinkte jetzt schon so oft gelesen, aber nirgendwo wirde das behandelt,
gebraucht oder sonstiges was ich benötige. Die einfache Frage war ja nur wie man so etwas machen kann.
Wenn mir keiner eine Antwort geben kann(was ich ja verstehe) oder einfach nicht will und auf ein ganz anderes Thema hinweist, was damit nicht wirklich viel zu tun hat(was ich nicht versteh), dann muss ich's halt alleine Ausprobieren...

Trotzdem danke
LG javaman


----------



## Camino (11. Mrz 2012)

javaman13 hat gesagt.:


> Ich habe das verlinkte jetzt schon so oft gelesen, aber nirgendwo wirde das behandelt, gebraucht oder sonstiges was ich benötige. Die einfache Frage war ja nur wie man so etwas machen kann. *Wenn mir keiner eine Antwort geben kann (was ich ja verstehe) oder einfach nicht will und auf ein ganz anderes Thema hinweist*, was damit nicht wirklich viel zu tun hat(was ich nicht versteh), dann muss ich's halt alleine Ausprobieren...



Häää, ich hatte dir doch jetzt mehrmals einen Hinweis in die richtige Richtung gegeben. Und ich hatte dir auch gesagt, was die Fehlermeldung aussagt. Ich hätte ja auch noch schreiben können, leite deine Klasse Level von JComponent ab, aber so genau hab ich mir dein weiteres Programm jetzt auch nicht angeschaut, damit ich sehen kann, ob dann nicht weitere Fehler oder Probleme auftreten. Wie gesagt, es war nur ein Hinweis in die Richtung, in der du selbst weiter suchen musst.


----------



## bERt0r (11. Mrz 2012)

Wenn du weißt was ein Array ist, warum machst du dann per hand 60 verschiedene Imagevariablen, die nochdazu alle nach dem Schema q+Nummer benannt sind? Da kannst du ein 60er Image Array auch machen und dein Code wird lesbar.
Je mehr ich mir deinen Code anschaue, umso deutlicher wird, wie sehr die die Grundlagen fehlen. 60 Zeilen code um zu jeder x Variable ein dx zu zählen... da muss doch irgendwann der Gedanke kommen "Geht das nicht einfacher?" Mit einem Array sind das 4 Zeilen Code inklusive Klammern.

```
int[] array=new int[60];
int dx;

for(int i=0;i<array.length;i++)
{
array[i]=array[i]+dx;
}
```


----------



## javaman13 (12. Mrz 2012)

Das mit den Arrays liegt daran, dass ich dabei nicht wirklich daran gedacht habe.
Und siehe da... ich bin ein Anfänger.(Ich programmiere seit einem halben Jahr)
Danke für dass Array, ich hab es mir angesehen und werde es einfügen. Ich habe schlicht und einfach vergessen, dass ich das ja auch so machen kann.

@Camino sorry, ich habe es eh schon gefunden dank deiner Tipps, ich wollte nur verdeutlichen, dass bERt0r zu einem ganz anderen Thema übergegangen ist. Danke für eure tipps.

javaman


----------



## javaman13 (12. Mrz 2012)

Ich programmier munter weiter, hatte alle probleme gelöst, doch plötzlich schreibt er mir:

```
The methode add(Component) in the type Container is not applicable for the arguments (Level)
2 Quick Fixes available:
+ Add Arguments to match 'add(Component, Object)'
+ Add Arguments to match 'add(Component, Object, int)'
```

´Habe alles schon wieder rückgängig gemacht, doch siehe da... das Problem besteht weiterhin.

Jetzt weis ich wirklich nicht mehr weiter.
Nur noch mal zum ansehen:

```
package Game;
 
import java.awt.Component;

import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class Frame extends JFrame{
        private static final long serialVersionUID = 1L;
        public static void main(String[] args)
        {
                new Frame().setVisible(true);
               
        }
 
        private Frame()
        {
                super("GotT");
                setSize(1024, 768);
                setResizable(true);
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                JPanel panel = new JPanel();
                panel.add(new Level()); // hier liegt der Fehler(warum auch immer)
                add(panel);
}
}
```

auch schreibt er mir wenn ich es ausführen will, dass 
	
	
	
	





```
new Frame().setVisible(true)
```
 einen Fehler enthält. Ich bin offen für alle Hilfe.
javaman


----------



## Camino (12. Mrz 2012)

1.) Nenn mal deine Klasse lieber nicht Frame, weil so schon eine Klasse im Java benannt ist. Ein anderer Name wie z.B. MyFrame, MeinFrame oder MainFrame wäre besser. Könnte evtl. zu einem Problem werden...



> The methode add(Component) in the type Container is not applicable for the arguments (Level)


Die Fehlermeldung sagt dir einfach, dass du ein Objekt der Klasse Level so nicht in das JPanel einfügen kannst. Wie sieht denn deine Klasse Level aus? Weiterhin so wie vorher? Ich hatte ja vorhin schonmal geschrieben, dass du evtl. diese Klasse von JComponent ableiten musst. Steht aber bestimmt besser erklärt in dem Tutorial.


----------



## javaman13 (12. Mrz 2012)

Danke hab JPanel und JComponent vertauscht...


----------

