Archief - [JAVA] Werking van JPanel

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Foezjie

Legacy Member
Omdat ik niet langer de Java-thread wou hijacken, deze thread:)

Ik zal direct de code geven:

Code:
import javax.swing.*;
import java.awt.*;

class JavaGUI extends JFrame{
	Container paneel;
			
	//Kleuren van de spelers
	Color speler1 = new Color(225,225,0); // Geel
	Color speler2 = new Color(255,0,0); // Rood
	Color speler3 = new Color(0,0,255); // Blauw
	Color speler4 = new Color (0,255,0); // Groen
	
	public JavaGUI(){
		
		setTitle("Javapoly");
		setSize (650,544);
		setLocation(400,200);
		
		paneel = getContentPane();
		paneel.setLayout(null);
		
		JLabel lblPrent;
		lblPrent = new JLabel(new ImageIcon("monopoly.gif"));
		lblPrent.setBounds(0,0,502,508);
		lblPrent.setVisible(true);
		paneel.add(lblPrent);
		paneel.repaint();		
	}
	
	public void tekenSpelers(int intAantalSpelers){	
		Graphics g = paneel.getGraphics();	
		for(int teller = 1; teller < 100; teller++){
			// Eerste speler
			g.setColor(speler1);
			g.fillOval(440,440,20,20);
			// Tweede speler
			g.setColor(speler2);
			g.fillOval(470,440,20,20); 
 			}
 			
 		if (intAantalSpelers == 3){
			for(int teller = 1; teller < 100; teller++){
				// Derde speler
				g.setColor(speler3);
				g.fillOval(440,470,20,20);
			}
 		}
			
		if (intAantalSpelers == 4){
			for(int teller = 1; teller < 100; teller++){
				// Derde speler
				g.setColor(speler3);
				g.fillOval(440,470,20,20);
				// Vierde speler
				g.setColor(speler4);
				g.fillOval(470,470,20,20);
			} 
		}
	} // Einde tekenSpelers
	
	public void toonNamen(String strNaam, int intKleur, int intYWaarde){	
		Graphics g = paneel.getGraphics();
		
		JLabel lblSpeler = new JLabel(strNaam);
		lblSpeler.setBounds(520, intYWaarde, 145, 50);
		
		switch (intKleur){
		case 1: lblSpeler.setForeground(speler1);break;
		case 2: lblSpeler.setForeground(speler2);break;
		case 3: lblSpeler.setForeground(speler3);break;
		case 4: lblSpeler.setForeground(speler4);break;
		}
			
		paneel.add(lblSpeler);
		//lblSpeler.setVisible(true);
		paneel.validate();			
	}	
}


Zoals in de Java thread gezegd werd, wou ik proberen die JLabels enzo te vervangen door middel van een JPanel, maar ik geraak er echt niet aan uit hoe die werken.

Hoe ik denk dat het gaat:

Code:
JLabel lblPrent;
lblPrent = new JLabel(new ImageIcon("monopoly.gif"));
lblPrent.setBounds(0,0,502,508);
JPanel paneel = new JPanel(new BorderLayout());
paneel.add(lblPrent);

Wat ik alleszins vermoed is dat ik een paar dingen vergeten ben toe te voegen. Ik heb java.awt.* geïmporteerd, en denk niet dat ik nog meer nodig heb.

Mijn vraag is nu eigenlijk: hoe werkt zo'n JLabel precies? Kan iemand een voorbeeldje geven van hoe ik bijvoorbeeld een afbeelding invoeg gebruikmakend van zo'n JPanel?
Ik word niet veel wijzer van deze site, er worden teveel termen gebruikt die ik niet snap..

Dank bij voorbaat,

Fuji
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan