Menü mit Buttons

Mr. Moon

Mitglied
Hi, ich wollte jetzt für mein Spiel ein Menü bauen, dass beim Escape drücken sichtbar wird und wieder verschwindet. Nur wenn ich Buttons zu meinem Frame adde(Ich habe ein null Layout verwendet), verschwindet mein komplettes Spiel und es sind auf grauer Fläche nur die 2 Buttons sichtbar. Das soll aber nicht sein, man soll das Spiel noch im Hintergrund sehen können. Wie kann ich Buttons hinzufügen ohne das das ganze Spiel verschwindet?
Grüße Mr. Moon
 

Mr. Moon

Mitglied
Nee damit funktioniert es immer noch nicht oder ich hab was falsch gemacht:(im Konstruktor und in doInitialisations hab ich das gesetzt)

Java:
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Vector;

public class GamePanel extends JPanel implements Runnable, KeyListener {
    
	private static final long serialVersionUID = 1L;
	boolean game_running = true;
	boolean started      = true;
	boolean gore         = true;
	
	long delta = 0;
	long last  = 0;
	long fps   = 0;
	
	boolean up1    = false;
	boolean down1  = false;
	boolean left1  = false;
	boolean right1 = false;
	boolean drop1  = false;
	boolean up2    = false;
	boolean down2  = false;
	boolean left2  = false;
	boolean right2 = false;
	boolean drop2  = false;
	
	
	int h1 = 0;
	int h2 = 0;
	int[] bombs = new int[2];
	Bomb bomb;
	Player player1;
	Player player2;
	Explosion explosion;
	Destructble_Block[] desBlocks;
	Sprite[] blocks;
	Vector<Sprite> actors;
	BufferedImage[] bombpics;
	BufferedImage[] explopics;
	BufferedImage[] destructblepics;
	BufferedImage[] colbombpics;
	BufferedImage[] peperonipics;
	BufferedImage[] jointpics;
	BufferedImage[] glassespics;
	BufferedImage[] sockpics;
	BufferedImage[] oneopics;
	BufferedImage background;
	
	JButton button1;
	JButton button2;
	JFrame frame;
	JLayeredPane layeredpane;
	
	public GamePanel(int w, int h) {
		this.setPreferredSize(new Dimension(w,h));
		frame = new JFrame("BomberMJ");
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(null);
		frame.addKeyListener(this);
		layeredpane = new JLayeredPane();
		frame.add(this);
		add(layeredpane);
		
		frame.pack();
		frame.setVisible(true);
		doInitializations();
	}
	
	public boolean isStarted() {
		return started;
	}
	
	public boolean getGore() {
		return gore;
	}
	
	public Sprite[] getBlocks() {
		return blocks;
	}
	
	public Player getPlayer(int i) {
		if(i == 1) {
			return player1;
		}
		
		if(i == 2) {
			return player2;
		}
		
		return null;
	}
	
	public Destructble_Block[] getDesBlocks() {
		return desBlocks;
	}
	
	public BufferedImage[] getExplopics() {
		return explopics;
	}
	
	public BufferedImage[] getColbombpics() {
		return colbombpics;
	}
	
	public BufferedImage[] getPeperonipics() {
		return peperonipics;
	}
	
	public BufferedImage[] getJointpics() {
		return jointpics;
	}
	
	public BufferedImage[] getGlassespics() {
		return glassespics;
	}
	
	public BufferedImage[] getSockpics() {
		return sockpics;
	}
	
	public BufferedImage[] getOneopics() {
		return oneopics;
	}
	
	public void setStarted(boolean started) {
	    this.started = started;	
	}
	
	public void setBombs(int i) {
		bombs[i]--;
	}
	
	public void setDesBlocks(Destructble_Block b, int i) {
		try {
			desBlocks[i] = b;
		}
		
		catch(Exception e) {
			
		}
	}
	private void doInitializations() {
	    int k = 0;
		
		last = System.nanoTime();
		
		bombs[0] = 0;
		bombs[1] = 0;
		
	    actors = new Vector<Sprite>();
	    
	    BufferedImage[] mjpics = this.loadPics("pics/MJ.gif", 36);
	    BufferedImage[] blockpics = this.loadPics("pics/Block.gif", 1);
	    explopics = this.loadPics("pics/Explosion.gif", 18);
	    bombpics = this.loadPics("pics/Bomb.gif", 2);
	    destructblepics = this.loadPics("pics/destructble_Block.gif", 5);
	    colbombpics = this.loadPics("pics/Collectable_Bomb.gif", 4);
	    peperonipics = this.loadPics("pics/Peperoni.gif", 4);
	    jointpics = this.loadPics("pics/Joint.gif", 4);
	    glassespics = this.loadPics("pics/Glasses.gif", 4);
	    sockpics = this.loadPics("pics/Sock.gif", 4);
	    oneopics = this.loadPics("pics/1,0.gif", 4);
        background = this.loadPics("pics/Background.gif", 1)[0];
	    desBlocks = new Destructble_Block[40];
	    blocks = new Sprite[20];
	    
	    setDestructbleBlocks();
	    
	    for(int i = 1; i < 8; i = i + 2) {
	    	
	    	for(int j = 1; j < 10; j = j + 2) {
	    		
	    		if(k < blocks.length ) {
	    			blocks[k] = new Block(blockpics, j * 75 , i * 75, 100, this);
	    			actors.add(blocks[k]);
	    			
	    			k++;
	    		}
	    			
	    	}
	    	
	    }
	    
	    
	    player1 = new Player(mjpics, 0, 0, 100, this, 1);
	    player1.setLoop(0,0);
	    
	    player2 = new Player(mjpics, 750, 575, 100, this, 2);
	    player2.setLoop(0,0);
	    
	    actors.add(player1);
	    actors.add(player2);
	    
	    button1 = new JButton("retry");
	    button2 = new JButton("back to main menu");
	    
	    button1.setLocation(315, 24);
	    button1.setSize(200, 50);
	    
	    button2.setLocation(315, 28);
	    button2.setSize(200, 100);
	    
	    layeredpane.add(button1);
	    layeredpane.add(button2);
	    
		Thread t = new Thread(this);
	    t.start();
	}
	
	private BufferedImage[] loadPics(String path, int pics) {
		
		BufferedImage[] anim = new BufferedImage[pics];
		BufferedImage source = null;
		
		URL pic_url = getClass().getClassLoader().getResource(path);
		
		try {
			source = ImageIO.read(pic_url);
		}
		
		catch(IOException e) {
			
		}
		
		for(int x = 0; x < pics; x++) {
			anim[x] = source.getSubimage(x * source.getWidth() / pics, 0, source.getWidth() / pics, source.getHeight());
		}
		
		return anim;
	}
	
	
	private void setDestructbleBlocks() {
		
		int[][] a   = new int[2][79];
		boolean[] b = new boolean[79];
		
		b[0]  = true;
		b[1]  = true;
		b[9]  = true;
		b[10] = true;
		b[11] = true;
		b[16] = true;
		
		b[78] = true;
		b[77] = true;
		b[69] = true;
		b[68] = true;
		b[67] = true;
		b[62] = true;
		int k = 0;
		int l = 0;
		int m = 0;
		int n = 0;
		
		for(int i = 0; i <= 600; i = i + 75) {
			for(int j = 0; j <= 750; j = j + 75) {
				if(((j / 75) % 2 != 0) && ((i / 75) % 2 != 0)) {
					continue;
				}
//				System.out.println(k + "," + j + "," + i);
				a[0][k] = j;
				a[1][k] = i;
				k++;
			}
		}
		
		while(l < 40) {
			m = (int) (Math.random() * 78);
			//System.out.println(m + "," + b[m] + "," + a[0][m] + "," + a[1][m]);
			if(!b[m]) {
				desBlocks[l] = new Destructble_Block(destructblepics, a[0][m], a[1][m], 100, this);
				desBlocks[l].setLoop(0, 0);
				actors.add(desBlocks[l]);
				b[m] = true;
				l++;
			}
		}
		
		
	}
	
	private void dropBomb(Player player) {
		
		
		
		if(bombs[player.getPlayernr() -1] < player.getBombs()) {
    		for(int i = 0; i <= 600; i = i + 75) {
	    		for(int j = 0; j <= 750; j = j + 75) {
		    		if(((j / 75) % 2 != 0) && ((i / 75) % 2 != 0)) {
			    		continue;
				    }
				
				    if((player.getX() + 37 >= j && player.getX() + 37 < j + 75) && (player.getY() + 90 >= i && player.getY() + 90 < i + 75)) {
					    bomb = new Bomb(bombpics, j , i, 100, this, player.getPlayernr());
					    
					    bombs[player.getPlayernr() -1]++;
					    
					    actors.add(bomb);
					    
				    }
				
			    }
		    }
		}
		//bomb = new Bomb(bombpics, player.getX() , player.getY() + 25, 100, this);
		//actors.add(bomb);
		
	}
	
	private void computeDelta() {
		delta = System.nanoTime() - last;
		last  = System.nanoTime();
		
		fps = ((long) 1e9) / delta;
	}
	
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		g.drawImage(background, 0, 0, this);
		g.setColor(Color.red);
		g.drawString("FPS: " + Long.toString(fps), 20, 10);
		
		if(actors != null) {
			for(int i = 0; i < actors.size(); i++) {
				actors.get(i).drawObjects(g);
			}
		}
		
		if(!isStarted()) {
			g.setColor(Color.black);
			g.fillRect(312, 20, 200, 200);
			g.setColor(Color.red);
			g.fillRect(314, 22, 196, 196);
		}
	}
	
	private void doLogic() {
		
		Vector<Sprite> trash = new Vector<Sprite>();
		Sprite check, s1, s2;
		
		for(int i = 0; i < actors.size(); i++) {
			actors.get(i).doLogic(delta);
			check = (Sprite) actors.get(i);
			
			if(check.remove) {
				trash.add(check);
			}
		}
		
		for(int i = 0; i < actors.size(); i++) {
			for(int n = 0; n < actors.size(); n++) {
				
				if(i != n) {
					s1 = actors.elementAt(i);
					s2 = actors.elementAt(n);
					//System.out.println(i + "," + n);
					s1.collidedWith(s2);
				}
			    
			}
		}
		
		if(trash.size() > 0) {
			actors.removeAll(trash);
			trash.clear();
		}
	}
	
	private void moveObjects() {
		for(int i = 0; i < actors.size(); i++) {
			actors.get(i).move(delta);
		}
	}
	
	private void checkKeys() {
		if(drop1) {
			dropBomb(player1);
			drop1 = false;
		}
		
		
		if(up1) {
			player1.setVerticalSpeed(-player1.getSpeed());		
			player1.setDirection('d');
			
		}
		
		if(down1) {
			player1.setVerticalSpeed(player1.getSpeed());
			player1.setDirection('u');
			
		}
		
		if(right1) {
			player1.setHorizontalSpeed(player1.getSpeed());
			player1.setDirection('l');
			
		}
		
		if(left1) {
			player1.setHorizontalSpeed(-player1.getSpeed());
			player1.setDirection('r');
			
		}
		
		if(left1 && up1) {
			player1.setDirection('a');

		}
		
		if(right1 && up1) {
			player1.setDirection('b');
			
		}
		
		if(left1 && down1) {
			player1.setDirection('c');
			
		}
		
		if(right1 && down1) {
			player1.setDirection('e');
			
		}
		
		if(!up1 && !down1) {
			player1.setVerticalSpeed(0);
		}
		
		if(!left1 && !right1) {
			player1.setHorizontalSpeed(0);
		}
		
		if(drop2) {
			dropBomb(player2);
			drop2 = false;
		}
		
		if(up2) {
			player2.setVerticalSpeed(-player2.getSpeed());
			player2.setDirection('d');
		}
		
		if(down2) {
			player2.setVerticalSpeed(player2.getSpeed());
			player2.setDirection('u');
		}
		
		if(right2) {
			player2.setHorizontalSpeed(player2.getSpeed());
			player2.setDirection('l');
		}
		
		if(left2) {
			player2.setHorizontalSpeed(-player2.getSpeed());
			player2.setDirection('r');
		}
		
		if(left2 && up2) {
			player2.setDirection('a');
		}
		
		if(right2 && up2) {
			player2.setDirection('b');
		}
		
		if(left2 && down2) {
			player2.setDirection('c');
		}
		
		if(right2 && down2) {
			player2.setDirection('e');
		}
		
		if(!up2 && !down2) {
			player2.setVerticalSpeed(0);
		}
		
		if(!left2 && !right2) {
			player2.setHorizontalSpeed(0);
		}
	}
	public void run() {
		while(game_running) {
		    computeDelta();
		    
		    if(isStarted()) {
		        checkKeys();
		        doLogic();
		        moveObjects();
		    }
		    
		    repaint();
			
			
			try {
				Thread.sleep(10);
			}
			
			catch (InterruptedException e) {}
		}
	}
	public static void main(String[] args) {
		
		new GamePanel(825,675);
	}

	@Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		
		/*if(e.getKeyCode() == KeyEvent.VK_SPACE) {
			drop = true;
			
		}*/
		
		if(e.getKeyCode() == KeyEvent.VK_W) {
			up1 = true;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 1) {
				    player1.setLoop(4, 7);
				    h1 = 1;
			    }
			}    
		}
		
		if(e.getKeyCode() == KeyEvent.VK_S) {
			down1 = true;
            
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
                if(h1 != 2) {
            	    player1.setLoop(0, 3);
            	    h1 = 2;
                }
			}    
		}
		
		if(e.getKeyCode() == KeyEvent.VK_A) {
			left1 = true;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 3) {
			    	player1.setLoop(12, 15);
			    	h1 = 3;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_D) {
			right1 = true;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 4) {
			    	player1.setLoop(8, 11);
			    	h1 = 4;
			    }
			}    
		}
		
		if(e.getKeyCode() == KeyEvent.VK_UP) {
			up2 = true;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 1) {
			    	player2.setLoop(4, 7);
			    	h2 = 1;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_DOWN) {
			down2 = true;
            
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
                if(h2 != 2) {
                	player2.setLoop(0, 3);
                	h2 = 2;
                }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_LEFT) {
			left2 = true;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 3) {
			    	player2.setLoop(12, 15);
			    	h2 = 3;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
			right2 = true;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 4) {
			    	player2.setLoop(8, 11);
			    	h2 = 4;
			    }
			}
		}
	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		
		if(e.getKeyCode() == KeyEvent.VK_ESCAPE) {
			setStarted(!isStarted());
			repaint();
		}
		
		if(e.getKeyCode() == KeyEvent.VK_SPACE) {
			drop1 = true;
			
		}
		
		if(e.getKeyCode() == KeyEvent.VK_W) {
			up1 = false;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 0) {
			    	player1.setLoop(1,1);
			    	h1 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_S) {
			down1 = false;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 0) {
			    	player1.setLoop(1,1);
			    	h1 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_A) {
			left1 = false;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 0) {
			    	player1.setLoop(1,1);
			    	h1 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_D) {
			right1 = false;
			
			if(!player1.getFlying() && !player1.getInvincible() && !player1.getDeath()) {
			    if(h1 != 0) {
			    	player1.setLoop(1,1);
			    	h1 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_ENTER) {
			drop2 = true;
			
		}
		
		if(e.getKeyCode() == KeyEvent.VK_UP) {
			up2 = false;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 0) {
			    	player2.setLoop(1,1);
			    	h2 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_DOWN) {
			down2 = false;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 0) {
			    	player2.setLoop(1,1);
			    	h2 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_LEFT) {
			left2 = false;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 0) {
			    	player2.setLoop(1,1);
			    	h2 = 0;
			    }
			}
		}
		
		if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
			right2 = false;
			
			if(!player2.getFlying() && !player2.getInvincible() && !player2.getDeath()) {
			    if(h2 != 0) {
			    	player2.setLoop(1,1);
			    	h2 = 0;
			    }
			}
		}
		
	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		/*if(e.getKeyCode() == KeyEvent.VK_SPACE) {
			drop = true;
			
		}*/
	}

	
	
}
 
Zuletzt bearbeitet:

MrClave

Bekanntes Mitglied
Du solltest noch mal von vorne anfangen mit Java.
Ein bisschen was über Objekte, High Cohesion und Low Coupling lesen.. :rtfm:

Ich glaube kaum, dass hier jemand lust hat, sich durch fast 1000 Linien Code zu arbeiten, die kein bisschen an OOP erinnern.

Und wieso erstellst du in einer Klasse, die von JPanel erbt, ein JFrame und andere Komponenten?
Zumindest in meinen Augen ergibt das keinen Sinn. :oops:

Wie du siehst verwirren solch große Klassen einen nur.
Mit kleinen sauberen "clean cut" Klassen, hättest du das Problem sicher schon gefunden.

Spiele programmieren ist zwar lustig, aber wenn man sich sofort in fremde Gewässer stürzt, wird man meist "gefressen". Zumal man schnell die lust verliert, wenn nichts mehr klappt.

Nur ein gut gemeinter Tipp :toll:

Kannst mich auch gern' in Skype oder so adden, falls du mal schnelle Hilfe benötigst ;)
 
Zuletzt bearbeitet:

Mr. Moon

Mitglied
Zugegebener Maßen war es ziemlich blöd immer soviel Code zu posten, deshalb versuch ich es nochmal übersichtlicher:

Also ich kann sehr wohl Objekt-orientiert Programmieren, mein Spiel funktioniert ja auch, deswegen baue ich ja jetzt auch das Menü. Ich habe die Struktur des Game Panels aus einem Tutorial für Spiele Programmierung übernommen. Das mit dem JFrame in JPanel war also garnicht meine Idee.

Ich zitier hier nun erstmal die wichtigsten Zeilen Code :

Java:
public GamePanel(int w, int h) {
		this.setPreferredSize(new Dimension(w,h));
		frame = new JFrame("BomberMJ");
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(null);
		frame.addKeyListener(this);
		layeredpane = new JLayeredPane();
		frame.add(this);
		add(layeredpane);
		
		frame.pack();
		frame.setVisible(true);
		doInitializations();
	}

Hier im Konstruktor baue ich das Frame für das Spiel und habe es jetzt mit dem LayeredPane versucht.

Java:
  button1 = new JButton("retry");
	    button2 = new JButton("back to main menu");
	    
	    button1.setLocation(315, 24);
	    button1.setSize(200, 50);
	    
	    button2.setLocation(315, 28);
	    button2.setSize(200, 100);
	    
	    layeredpane.add(button1);
	    layeredpane.add(button2);

Das ist der Teil aus der DoInitialisation Methode, indem ich die Buttons setze.

Java:
public void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		g.drawImage(background, 0, 0, this);
		g.setColor(Color.red);
		g.drawString("FPS: " + Long.toString(fps), 20, 10);
		
		if(actors != null) {
			for(int i = 0; i < actors.size(); i++) {
				actors.get(i).drawObjects(g);
			}
		}
		
		if(!isStarted()) {
			g.setColor(Color.black);
			g.fillRect(312, 20, 200, 200);
			g.setColor(Color.red);
			g.fillRect(314, 22, 196, 196);
		}
	}

Das ist der Teil in dem das eigentliche Spiel gezeichnet wird. Actors ist ein Vektor über die zu zeichnenden Objekte. Der If Block zeichnet 2 Rechtecke, die unter den Buttons liegen sollen, wenn man escape drückt
 

Mr. Moon

Mitglied
Ich hab das jetzt mit dem LayeredPane geändert. das wird jetzt Frame hinzugefügt und das GamePanel dem layeredPane sowie die Buttons dem LayeredPane. Funktioniert aber auch nicht. Es werden nur die Buttons angezeigt und nicht mehr das Spiel.
 

MrClave

Bekanntes Mitglied
Bevor du jetzt noch stundenlang an so einem langem Code verschwendest , schreib' lieber noch mal alles von vorne.
Stück für Stück, sodass du wirklich alles verstehst.
Immer wieder den Code testen, sobald du etwas gemacht hast.
Aber bitte nirgendswo Code kopieren!

Wenn dann immer noch nichts klappt, muss man mal näher an die Sache rangehen.
Hab' jetzt gerade selber keine Zeit dafür, sonst hätte ich's mir jetzt mal näher angesehen.
 

Mr. Moon

Mitglied
Wieso sollte ich das nochmal schreiben, ich habe ja alles größtenteils selber geschrieben, nur die Struktur, wie das GamePanel aufgebaut ist, habe ich übernommen. Außerdem verstehe ich alles, was ich da gemacht habe
 

MrClave

Bekanntes Mitglied
Dein Code sagt mir aber was anderes, zumal du ja nicht hier wärst, wenn du kein Verständnisproblem hättest. ???:L
- Member haben keinerlei modifier
- Klasse total überladen (GUI und Business Logic vermischt)
- Sinnloser Thread (oder wozu brauchst du den? Ich zumindest sehe so keinen Grund für ihn)
- magic numbers
- und und und

Bau dir ein freistehendes Beispiel ohne jegliche Logik, in dem du mit LayeredPanes o.Ä. arbeitest.
Fehler sind nur sehr schwer zu finden, wenn man irrelevanten Code drumherum hat.

Wenn jemand OOP könnte, würde er dies auch anwenden.
Nicht böse gemeint, aber ich glaube nicht, dass du wirklich weißt, was OOP bedeutet. :bahnhof:

War aber auch nur ein Tipp, damit du das Problem selbst hättest lösen können.
Aber solange du uneinsichtig bist, kann ich dir hier vieles erzählen. Du musst schon selbst erkennen, was du da alles falsch gemacht hast.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J GUI Programmierung Popup-Menü AWT, Swing, JavaFX & SWT 4
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
I Von Menü: Seite zu Seite springen (CardLayout) AWT, Swing, JavaFX & SWT 8
B Swing Menü geht nicht AWT, Swing, JavaFX & SWT 5
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
H Swing Auf Klick auf Menü-Eintrag reagieren AWT, Swing, JavaFX & SWT 0
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
M Menü ohne Menübar umsetzen[SWT] AWT, Swing, JavaFX & SWT 8
RalleYTN Swing Menü für Texteditor (Rechtsklick) AWT, Swing, JavaFX & SWT 4
D javafx.scene.control.TreeView als dropdown Menü AWT, Swing, JavaFX & SWT 6
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
J Swing aufklappbares Menü AWT, Swing, JavaFX & SWT 0
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
F Swing Ein 2D-Game Menü mit framefüllenden Button AWT, Swing, JavaFX & SWT 6
J 2D-Grafik Menü programmieren AWT, Swing, JavaFX & SWT 2
X Popup Menü nur bei besonderem Fall öffnen AWT, Swing, JavaFX & SWT 3
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
J Graphisches Game Menü AWT, Swing, JavaFX & SWT 9
J Maus "locken" für Menü AWT, Swing, JavaFX & SWT 8
S SWT: Drop-Down Menü-Einträge mit Tooltip hervorheben AWT, Swing, JavaFX & SWT 3
H Swing Menü mit Bildern AWT, Swing, JavaFX & SWT 2
C Swing Wie kann ich im Programm das Menü schließen AWT, Swing, JavaFX & SWT 2
D Jtable mit Dropdown Menü erweitern funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
J Menü umstrukutierem AWT, Swing, JavaFX & SWT 5
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
R Bitte kein Menü bei F10 AWT, Swing, JavaFX & SWT 9
A Swing Fenstergröße mittels Menü verändern AWT, Swing, JavaFX & SWT 3
kodela Tastaturereignisse für Menü- und Anwenderbereich AWT, Swing, JavaFX & SWT 14
TheWhiteShadow Swing Problem mit Icon-Menü-Leiste AWT, Swing, JavaFX & SWT 5
E Windows Kontext Menü - Laufendes Programm AWT, Swing, JavaFX & SWT 3
G Menü verschwindet durch .setText() AWT, Swing, JavaFX & SWT 4
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
J Menü beschriftung wird nicht verändert AWT, Swing, JavaFX & SWT 7
J LookAndFeel Titelbar & About Menü AWT, Swing, JavaFX & SWT 6
Eldorado Swing Popup-Menü mit Jspinner AWT, Swing, JavaFX & SWT 4
Semox Swing Shortcuts in Menü realisieren AWT, Swing, JavaFX & SWT 2
R Swing Menü wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Semox Swing Menü und JPanel AWT, Swing, JavaFX & SWT 6
S Menü Item "abhaken" lassen vom Benutzer AWT, Swing, JavaFX & SWT 2
G Swing Fortschrittsbalken im Fenster: Menü deaktivieren / abfangen? AWT, Swing, JavaFX & SWT 27
L Verzeichnis Menü (Durchsuchen) AWT, Swing, JavaFX & SWT 2
R JRadioButtonGroup - im Menü und im losgelösten Fenster AWT, Swing, JavaFX & SWT 3
J JButton und Menü AWT, Swing, JavaFX & SWT 5
S Dropdown-Menü wie auf der Eclipse-Toolbar AWT, Swing, JavaFX & SWT 7
T einfaches Menü in swing das nicht herunterklappt? AWT, Swing, JavaFX & SWT 4
M Menü mit Layout AWT, Swing, JavaFX & SWT 10
N Fenster mit Menü AWT, Swing, JavaFX & SWT 5
V Menüeinträge im DropDown-Menü deaktivieren AWT, Swing, JavaFX & SWT 3
B Applet Menü AWT, Swing, JavaFX & SWT 6
B Dropdown-Menü im Explorer AWT, Swing, JavaFX & SWT 4
E Anfänger-JPanel aus Menü aufrufen AWT, Swing, JavaFX & SWT 4
T Scrollbalken für ein Menü oder laufendes Dropdown-Menü wie? AWT, Swing, JavaFX & SWT 34
G Funktion für PopUp Menü AWT, Swing, JavaFX & SWT 32
ElViZ JCheckBoxMenuItem Problem - Menü soll offen bleiben. AWT, Swing, JavaFX & SWT 3
S Menü AWT, Swing, JavaFX & SWT 31
L F10 Taste öffnet das Menü AWT, Swing, JavaFX & SWT 7
M Combobox verdeckt Menü AWT, Swing, JavaFX & SWT 2
T Windows-Typisches Menü für Swing AWT, Swing, JavaFX & SWT 3
D Chinesisches Menü AWT, Swing, JavaFX & SWT 6
D Pulldown Menü erstellen; welche Klasse? AWT, Swing, JavaFX & SWT 2
T Tray-Icon-Menü unter Linux AWT, Swing, JavaFX & SWT 10
J Context Menü Maus AWT, Swing, JavaFX & SWT 3
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
T Popup-Menü unter Linux AWT, Swing, JavaFX & SWT 2
G Swing Menü Hauptfenster AWT, Swing, JavaFX & SWT 14
K Menü mit ALT-D öffnen AWT, Swing, JavaFX & SWT 13
M Ereignis: Menü offen? AWT, Swing, JavaFX & SWT 2
J Icons mit Text als Menü AWT, Swing, JavaFX & SWT 2
G Problem mit Kontextmenu(Popup Menü) AWT, Swing, JavaFX & SWT 3
G Menü hervorheben, wenn Item ausgewählt ist? AWT, Swing, JavaFX & SWT 2
B Menü-Bedienung mit Keys unter AWT! AWT, Swing, JavaFX & SWT 3
J Drop-down menü in Toolbar Button AWT, Swing, JavaFX & SWT 8
G Rechte Maustaste soll Menü aufrufen AWT, Swing, JavaFX & SWT 11
G Problem mit Menü/Button auf Hintergrundbild AWT, Swing, JavaFX & SWT 10
G Datei per Menü laden und und in JTextArea darstellen AWT, Swing, JavaFX & SWT 4
A Fenster über Menü schließen AWT, Swing, JavaFX & SWT 2
G Menü oder Layout? AWT, Swing, JavaFX & SWT 2
P Menü soll sich nur nach links aufbauen... AWT, Swing, JavaFX & SWT 7
I Swing: Menü verschwindet beim Einfügen eines Bildes AWT, Swing, JavaFX & SWT 15
J JTextField immer über Menü der JComboBox gezeichnet AWT, Swing, JavaFX & SWT 2
G menü AWT, Swing, JavaFX & SWT 9
C ActionListener für dynamisches Menü AWT, Swing, JavaFX & SWT 8
G Wie kann man ein Kontext-Menü erstellen? AWT, Swing, JavaFX & SWT 2
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
volcanos SpringLayout mit zusätzlichen Buttons außerhalb des SpringLayout AWT, Swing, JavaFX & SWT 33
K Swing Buttons erst blinken lassen und dann abfragen, ob sie gedrückt worden sind AWT, Swing, JavaFX & SWT 2
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
B JavaFX DropDown Menu mit ausführbaren Buttons AWT, Swing, JavaFX & SWT 1
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben