Halbtransparent

Status
Nicht offen für weitere Antworten.

Titanpharao

Bekanntes Mitglied
Hi,

ich möchte gern eine JPanel Klasse erzeugen, welche "halbtransparent" ist. So wie man es aus viele Grafikprogrammen kennt 50% Transparent usw...geht das von JAVA aus schon?
Weil soweit ich mich erinnere, funktionieren 50% Transparent Bilder nicht...
Dunkes Schwarz aber der hintergrund sollte erkennbar bleiben.
 

Titanpharao

Bekanntes Mitglied
hat sich geklärt...erst google dann forum :oops:

habe jetzt diesen Code gefunden

Code:
	protected void paintComponent(Graphics g) {
		Graphics2D g2d = (Graphics2D) g;
		this.setBackground(Color.white);
		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.black);
	}

Verstehe ihn nicht so ganz um erlich zu sein...muss man vielleicht auch nicht.
Mein Problem ist jetzt, dass ich meine Labels Buttons etc NICHT durchsichtig will. Was müste ich da ändern?
 

Marco13

Top Contributor
Sollte gehen, wenn man vor dem
super.paintComponent(g2d)
wieder das "standard"-Composite setzt. Evtl. tuts da schon ein
g2d.setComposite(null);
im Zweifelsfall aber

Composite oldComposite = g2d.getComposite();
g2d.setComposite(alphaComp);
g2d.fillRect....
g2d.setComposite(oldComposite);
super.paintComponent(g2d);
 
G

Gast

Gast
Mal ne Frage, wie performant ist das denn?
Konkret hab ich ein JPanel mit überschriebener paintComponent, in der ich ein VolatileImage zeichnen lasse. Auf dieses JPanel adde ich ein kleineres JPanel mit Buttons und so SchnickSchnack. Dieses kleinere Panel wollt ich nun gern halbtransparentes haben, Effekt dabei ist das meine Framerate vollkommen in den Keller geht (vorher 59-61 fps, nacher 4-6 fps).

Kann ich da noch was dran machen oder bleibt die Halbtransparenz für mich ein Traum?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben