Java Mit SwingX einen Schatten erzeugen

frajen

Lieutenant
Registriert
Mai 2008
Beiträge
571
Hallo,
ich arbeite mit der Externen Bibliothek SwingX und habe ein Problem, wobei ich nicht glaube das es zwingend mit der Bibliothek zusammen hängt. Ich versuche mit SwingX ein Schatten von einem Bild zu erzeugen >Tut<

Ich habe zwei JPanel wobei das Erste das Zweite beinhaltet. In dem 2 soll das Bild sein. Das Bild wird auch angezeigt aber es ist eXtrem klein nur ein Punkt. (Siehe Anhang)
und wenn ich anstatt mit dem 2 mit dem Ersten Panel arbeite wo das Bild rein soll passiert Garnichts.

Ich habe hier mal den Code den ich dafür nutze .... Das cov ist das JPanel2.
Ich habe versucht mich an das Tut zuhalten aber es will nciht 100% klappen.
Code:
public void setCover(final BufferedImage bimg) throws IOException
	{
		this.bimg = bimg;
		if(bimg != null)
		{
			img = new ImageIcon(bimg);

			imageComponent = new JComponent(){
				public void paintComponent(Graphics g) 
				{
					ShadowRenderer renderer = new ShadowRenderer(10, 1, Color.BLACK);
					final BufferedImage shadow = renderer.createShadow(bimg);
					
					Graphics2D g2 = (Graphics2D)g;
					g2.drawImage(shadow, 2, 2, null);

					g2.drawImage(bimg, 0, 0, null);			
					g2.dispose();
				}
			};
			cov.add(imageComponent);
			//cov.setSize(500,500);
		}
                add(cov,BorderLayout.CENTER);
	
	}
Hoffe einer kann mir helfen.

mfg
frajen
 

Anhänge

  • Heelp.jpg
    Heelp.jpg
    14,8 KB · Aufrufe: 356
//cov.setSize(500,500);


Klingt schon richtig, das machen bevor das Bild dem Panel geadded wird, dann müsste es doch gehen!?
 
du meinst vor cov.add(imageComponent); ? -> geht nicht

habe da schon rum probiert ....
 
Hast du es mal mit setPreferredSize Probiert?
Je nach Kontext kann auch ein repaint oder validate angebracht sein.

Wenn das nicht hilft lad mal ein Minimalbeispiel hoch damit man das Gesamtbild betrachten kann.
 
Mit cov.setPreferredSize(d ); geht schon in die richtige Richtung. Siehe Anhang aber das Bild ist immer noch ein Punkt :(

Werde gleich mal Code hochladen (das meintest du doch DjNDB oder ? ^^)
 

Anhänge

  • Heelp.jpg
    Heelp.jpg
    21,8 KB · Aufrufe: 228
Ja denke mal das Bild wurde richtig geladen kann es mit rechtsklick speichern.

So wie es sein soll nur mit Schatten

Code Schicke ich per PN :) will das hier nicht einfach so Posten

EDIT: Durch die Hilfe von DjNDB hat es doch noch funktioniert , danke
 
Zuletzt bearbeitet:
Zurück
Oben