JScrollpane transparent machen

devilmc

Mitglied
Hallo

Ich habe ein Panel mit einem Bild, in diesem Panel soll nun ein scrollbares TextArea liegen das halbtransparent ist.
Das Textarea Transparent zu bekommen ist kein Problem gewesen.
Das habe ich wie folgt gelöst.
Code:
public TransparentTextArea (){
		this.setOpaque(false);
	}


	protected void paintComponent(Graphics g){
		Graphics2D g2d = (Graphics2D)g;
		this.setBackground(Color.BLACK);
		
		Composite alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.65f);
		g2d.setComposite(alphaComp);
		g2d.setColor(getBackground());
		Rectangle tBounds = g2d.getClip().getBounds();
		g2d.fillRect((int) tBounds.getX(),(int)tBounds.getY(),(int)tBounds.getWidth(),(int)tBounds.getHeight());
		super.paintComponent(g2d);
		this.setForeground(Color.WHITE);
	}

Nun will ich aber dieses TextArea in ein JScrollpane packen und es soll weiterhin
transparent sein. Ich habe mir gedacht, das mache ich wie bei dem TextArea auch, aber das ging nur halb.
Es war zwar transparent aber in dem Moment wo Text eingefügt wird, verschwindet die transparenz.

Ich habe gelesen das ich den Viewport transparent setzten muss.
Und da liegt mein Problem. Wie geht das?
Kann mir da jemand helfen

Grüße
 
textarea.setOpaque(true);
scrollPane.getViewport().add(textarea);
scrollPane.getViewport().setOpaque(false);
scrollPane.setOpaque(false);
 
mh komisch jetzt gehts allerdings muss ich das textarea.setOpaque(false) setzten
aber danke jetzt gehts, zwar macht er die Schrift wenn sie Weiß ist grau, was wahrscheinlcih mit der Deckkraft zutun hat, aber das ist nicht weiter wild
 
Zurück