# JDialog Bild als Hintergrund



## joschika77 (1. Mai 2005)

Hallo!

Ich habe ein Bild was im Hintergrund transparent ist.
Nun habe ich diese Klasse:


```
public class InfoDialog extends JDialog
{
	private static final long serialVersionUID = 1L;
	ImageIcon hinterg  = new ImageIcon(getClass().getResource("../Bilder/xxx.gif"));
	
	public InfoDialog()
	{
		this.setLayout(null);
		this.setSize(400,500);
		this.setResizable(false);
		this.setUndecorated(true);
	}
	
	public void paint(Graphics g)
	{
		super.paint(g);
		Insets insets = getInsets();
		hinterg.paintIcon(this,g, insets.left, insets.top);
	}
}
```

Aber leider wird die Transparenz nicht anerkannt.Der Hintergrund ist grau.
Woran liegt das?

MfG


----------



## Wildcard (1. Mai 2005)

Wenn das Bild teilweise transparent ist ist doch klar das der Hintergrund grau ist  ???:L


----------



## joschika77 (1. Mai 2005)

Wieso ist das klar?Wenn transparent dann sollte das sichtbar sein was sich im Hintergrund befindet.
Oder wie meinst das?

MfG


----------



## joschika77 (1. Mai 2005)

Ne ist klar jetzt verstehe ich erst.


----------



## Wildcard (1. Mai 2005)

joschika hat gesagt.:
			
		

> Ne ist klar jetzt verstehe ich erst.


Ist das Problem damit gelöst? Wenn ja, bitte Häckchen machen...


----------



## joschika77 (1. Mai 2005)

Ne leider nicht.
Wie kann ich das realisieren das das transparente Bild sichtbar ist und das dahinterliegende Frame im Bereich der Transparenz?

MfG


----------



## Wildcard (1. Mai 2005)

Im Bereich der Transparenz???
Ich hab keine Ahnung von was du redest


----------



## joschika77 (1. Mai 2005)

Na wie soll ich sagen.

Ich habe ein Frame.Und an einer bestimmten Stelle auf dem Frame wird der  JDialog sichtbar mit dem teilweise transparenten Bild.Jetzt zeigt er mir zwar das Bild auf dem JDialog aber mit gauen Hintergrund. Nun möchte ich das graue weghaben und nur das transparente Bild sehen.Und dort wo das graue ist soll eigentlich das Frame sichtbar sein. Ist schwer zu erklären. Ich hoffe du hast verstanden.

MfG


----------



## Illuvatar (1. Mai 2005)

Das geht mit Java eigentlich net, nur mit dem Trick, dass du dir über java.awt.Robot#createScreenCapture holst, was an der stelle wo der Dialog hinsoll, liegt, und das vor dem Bild noch in den Dialog malst.


----------



## Wildcard (1. Mai 2005)

Illuvatar hat gesagt.:
			
		

> Das geht mit Java eigentlich net, nur mit dem Trick, dass du dir über java.awt.Robot#createScreenCapture holst, was an der stelle wo der Dialog hinsoll, liegt, und das vor dem Bild noch in den Dialog malst.


Die Idee ist gut! Wie sieht das nachher beim Verschieben usw. aus? Erkennt der Benutzer das es ein 'fake' ist?


----------



## Roar (1. Mai 2005)

Wildcard hat gesagt.:
			
		

> Illuvatar hat gesagt.:
> 
> 
> 
> ...


scheiße :-/



> Erkennt der Benutzer das es ein 'fake' ist?


wahrscheilnich ja


----------



## AlArenal (1. Mai 2005)

Könnt ihr alle keine "normalen" Anwendungen schreiben?

Hier kommen manchmal Leute mit Ideen.. mannomann.. gibts nicht schon genug unbedienbare Software auf der Welt?


----------



## Guest (2. Mai 2005)

Na wieso?Ist halt für die Optik.
Hat schon jemand damit Erfahrung ?
Mit dem 
	
	
	
	





```
java.awt.Robot#createScreenCapture
```
 mein ich.

MfG


----------



## AlArenal (2. Mai 2005)

Bei "Optik" gebe ich aus eigener leidvoller Erfahrung folgendes zu bedenken:

Derzeit sind die User-Interfaces der gängigen Betriebssysteme allesamt Pixel-orientiert. Wenn du in einem GUI eine Grafik als Hintergrund verwendest gibt es keine Garantie, dass das Ding überall gleich aussieht, noch dazu in Java bei verschiedenen L&Fs.

Beispiel:
Ich nutze IRon für Internet-Radio und manchmap zocke ich noch den alten EastSide Hockey Manager. Beide haben Fenster und Dialoge, die mit Bildern hinterlegt sind. Dummerweise haben die Entwickler wohl Standard-Monitore. Normalerweise betreibt Windows gängige Monitore mit 96dpi. Ich habe aber nen TFT mit 1920x1200 Pixeln bei 15,4" Diagonale und fahre Windows mit 120 dpi. Das führt zu entsprechenden Skalierungen von Fonts und Widgets, mit dem Ergebnis, das in obigen Programmen manche Dialoge unleserlich sind, weil links oben ein Bild drinpappt, der Dialog bei mir aber größer ist und die übrige Fläche mausgrau oder schlimmstenfalls in Font-Farbe ist.

Sieht jedenfalls ultra-beschissen aus und schränkt in beiden Fällen die Funktion ein, weil man Texte nicht mehr lesen kann, etc.

Das war sicher nicht im Sinne der Entwickler beider Programme, die auch nur was für die Optik tun wollten. Unterschiedliche DPI-Einstellungen werden aber mehr und mehr zur Regel, wo immermehr High-Resolution-TFTs in Notebooks verbaut und für Desktops angeboten werden. Überhaupt soll der Notebook-Markt ja bald die Verkaufszahlen bei Desktops überholen..

Daher wäre ich mit dererlei optischen Trick vorsichtig, weil die schnell zum Bumerang werden könnten. Wäre ja schade sich erst viel Mühe zugeben, das überhaupt zu implementieren und am Ende muss mans dann wieder rauswerfen.


----------



## Roar (2. Mai 2005)

wat? nen 15" tft und ne aufösung von 1920x1200 ??
mein 19" tft kann ja nur 1280x1024


----------



## AlArenal (2. Mai 2005)

Roar hat gesagt.:
			
		

> wat? nen 15" tft und ne aufösung von 1920x1200 ??
> mein 19" tft kann ja nur 1280x1024



Dell Notebook 

Kannst von Dell aber auch nen externen 24" TFT in WUXGA bekommen.. *schwärm*


----------



## mr1st (2. Mai 2005)

Roar hat gesagt.:
			
		

> wat? nen 15" tft und ne aufösung von 1920x1200 ??
> mein 19" tft kann ja nur 1280x1024


AlArenal hat ja gesagt, er hat 120 dpi statt 96 dpi (Standard). Dann wird wohl die hohe Auflösung funktionieren, auch wenn das Display kleiner ist.


----------



## Roar (2. Mai 2005)

@alarenal: warum nich gleich nen 30" cinema display 

wo kann ich 'n die dpi umstellen?


----------



## AlArenal (2. Mai 2005)

Roar hat gesagt.:
			
		

> wo kann ich 'n die dpi umstellen?



Eigenschaften von Anzeige => Einstellungen => Erweitert => Allgemein


----------



## Roar (2. Mai 2005)

thx, und sorry für offtopic


----------

