Achtergrond van JPanel instellen zonder draw

Status
Niet open voor verdere reacties.

MrSvennie93

Gebruiker
Lid geworden
23 sep 2011
Berichten
101
Hallo,

Ik heb een klasse die JFrame ondersteunt.
Nu wil ik in een jpanel een plaatje als achtergrond instellen.
Ik heb wel iets werkend maar nu verdwijnt de label met tekst achter de afbeelding.

Code:
panelKeuzeProject = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
		panelKeuzeProject.addMouseListener(this);
		panelKeuzeProject.setPreferredSize(new Dimension(300, 300));
		panelKeuzeProject.setBackground(Gui.kleurTegel);
		panel1.add(panelKeuzeProject);
		
		
		
		BufferedImage myPicture = null;
		String link = "afbeeldingen/tegel-project.jpg";
		JLabel picLabel = null;
		try {
			myPicture = ImageIO.read(new File(link));
//			picLabel = new JLabel(new ImageIcon(myPicture));
			Double ratioBreedte =  (double) 300 / myPicture.getWidth();
			Double ratioHoogte =  (double) 300 / myPicture.getHeight();

			if(ratioBreedte > ratioHoogte) {
				Image o = getScaledImage(myPicture, (int)(myPicture.getWidth() * ratioHoogte),300);
				picLabel = new JLabel(new ImageIcon(o));
			}
			else {
				Image o = getScaledImage(myPicture, 300, (int)(myPicture.getHeight() * ratioBreedte));
				picLabel = new JLabel(new ImageIcon(o));
			}
		} 
		catch (Exception e) {
			picLabel = new JLabel("Geen afbeelding gevonden");
		}
		panelKeuzeProject.add(picLabel);		
		
		
		labelProject = new JLabel("Projecten");
		labelProject.setFont(new Font("Courier New", Font.BOLD, 20));
		labelProject.setOpaque(true);
		panelKeuzeProject.add(labelProject);
		
//		panelKeuzeProject.setComponentZOrder(labelProject, 0);
//		panelKeuzeProject.setComponentZOrder(picLabel, 1);

Nu had ik geprobeerd met setComponentZOrder, maar dan plaatst hij de tekst boven de afbeelding, dus de afbeelding onder de tekst ipv achter.
Hoe is dit op te lossen zonder Graphics en draw() te gebruiken?

Mvg,

Sven
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan