# Masken und Taskleiste, ALT-TAB



## Guest (22. Feb 2007)

Moin,
ich habe eine Anwendung, die bisher aus mehreren JFrames besteht. Sie werden natürlich alle in der Taskleiste und in der ALT-TAB-Liste angezeigt.

Ziel: Es wird nur ein JFrame (Hauptframe z.B.) in der Taskleiste und in der ALT-TAB-Liste angezeigt.

Frage: Wie geht das?

Ändern auf JDialog alleine reicht nicht, weil die Dialoge zwar nicht mehr in der Taskleiste angezeigt werden, dafür aber noch in der ALT-TAB-Liste erscheinen.


----------



## André Uhres (22. Feb 2007)

Anonymous hat gesagt.:
			
		

> ..Ändern auf JDialog alleine reicht nicht, weil die Dialoge zwar nicht mehr in der Taskleiste angezeigt werden, dafür aber noch in der ALT-TAB-Liste erscheinen.


Ist mir neu. Zeig bitte mal den Code.


----------



## The_S (22. Feb 2007)

Hm, je nach Aufgabenstellung könnte ich mir vorstellen, dass du in deinem JFrame ein JDesktopPane verwendest und darin dann deine Sub-Fenster als JInternalFrames addest.


----------



## The_S (22. Feb 2007)

André Uhres hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...



Ist wirklich so


----------



## André Uhres (22. Feb 2007)

Ein JDialog erscheint bei mir weder in der Taskleiste, noch in der ALT-TAB-Liste.


----------



## The_S (22. Feb 2007)

Welches OS? Welche JDK Version? Bei mir erscheint er zwar nicht in der Taskleiste, aber in der Tab-leiste ... sehr komisch!


----------



## André Uhres (22. Feb 2007)

Windows XP, JDK 1.5.0_10


----------



## The_S (22. Feb 2007)

Komisch, bei mir ebenfalls. Hast du noch irgendwelche properties bei deinem JDialog gesetzt? Oder was in der Windowseinstellung geändert (wenn ich auch nciht wüsste was)? Ist ja sehr mysteriös irgendwie :shock:


----------



## André Uhres (22. Feb 2007)

Naja, der JDialog hat natürlich den JFrame als owner, aber ansonsten ist nix spezielles dabei. Bei Windows hab ich auch nix speziell eingestellt.


----------



## The_S (22. Feb 2007)

Achso! Das erkärt natürlich einiges. Dachte du hast ein Stand-Alone JDialog  . Joa, das wäre dann natürlich auch ne Alternative für Gast!


----------



## Gast (22. Feb 2007)

Was wie wo Gast? Wofür habe ich mich denn dann eingeloggt?? *sigh*

OK, das mit den JInternalFrames schaue ich mir dann mal näher an.

Gruß,
Snape


----------



## thE_29 (22. Feb 2007)

1. du bist nicht eingeloggt 

2. wenn jeder von deinen JDialog das gleiche Elterne JFrame Objekt hat, passiert das nicht!
Erzeuge einfach einen JFrame der halt nicht sichtbar ist!


----------



## The_S (22. Feb 2007)

Zumindest der Hinweis auf ein Crossposting wäre Wünschenswert gewesen!

http://forum.coding-community.net/showthread.php?t=282


----------



## Snape (22. Feb 2007)

>1. du bist nicht eingeloggt 

Zumindest hatte ich vorher beim Login meine Daten eingegeben.  :? 

>2. wenn jeder von deinen JDialog das gleiche Elterne JFrame Objekt hat, passiert das nicht!
Erzeuge einfach einen JFrame der halt nicht sichtbar ist!

Erscheint ein nicht sichtbares JFrame in der Taskleiste / ALT-TAB?



			
				hobbit_im_blutrausch hat gesagt.:
			
		

> Zumindest der Hinweis auf ein Crossposting wäre Wünschenswert gewesen!



Wofür ist das wichtig? Nicht alle Foren haben die gleichen User.


----------



## The_S (22. Feb 2007)

Snape hat gesagt.:
			
		

> Erscheint ein nicht sichtbares JFrame in der Taskleiste / ALT-TAB?



Nein!



			
				Snape hat gesagt.:
			
		

> hobbit_im_blutrausch hat gesagt.:
> 
> 
> 
> ...



Entscheide dich für ein Forum. Wenn du dort nach längerer Zeit (3 Minuten sind das definitiv nicht) keine Antwort bekommst, kannste ja mal noch woanders nachfragen (je nach Dringlichkeit). Aber aufjedenfall in beiden Foren darauf hinweisen. Das hat nichts mit den gleichen Usern zu tun (verstehe sowieso nicht wie du darauf kommst), sondern eher mit Höflichkeit. Evtl. werkelt ein User in dem einen Forum fieberhaft an einer Lösung deines Problems, opfert seine Zeit/Geist/Nerven/etc. für dich und in Wirklichkeit wurde das Prob in einem anderen Forum schon lange gelöst! Außerdem kann man so auch schauen, was im anderen Forum für Ideen geäußert wurden und diese dann im eigenen Forum evtl. aufgreifen und ggf. weiter entwicklen verbessern.


----------



## Snape (22. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Snape hat gesagt.:
> 
> 
> 
> ...


Das ist schlecht. Also zumindest ein Hauptfenster soll in der Taskleiste und ALT-TAB sichtbar bleiben.

Mir ist auch noch eine weitere Spezialität eingefallen: Die Masken sind bisher alle einheitlich groß und nutzen die maximale Bildschirmauflösung 1024x768. Angenommen, der
Benutzer hat mehrere Masken und Untermasken offen. Alle Masken liegen (gewollt) übereinander. Wie kann er zwischen den Masken wechseln, wenn sie nicht in ALT-TAB erscheinen? Also ohne sie einzeln und nacheinander zu schliessen.



			
				hobbit_im_blutrausch hat gesagt.:
			
		

> Entscheide dich für ein Forum. Wenn du dort nach längerer Zeit (3 Minuten sind das definitiv nicht) keine Antwort bekommst, kannste ja mal noch woanders nachfragen (je nach Dringlichkeit). Aber aufjedenfall in beiden Foren darauf hinweisen. Das hat nichts mit den gleichen Usern zu tun (verstehe sowieso nicht wie du darauf kommst), sondern eher mit Höflichkeit. Evtl. werkelt ein User in dem einen Forum fieberhaft an einer Lösung deines Problems, opfert seine Zeit/Geist/Nerven/etc. für dich und in Wirklichkeit wurde das Prob in einem anderen Forum schon lange gelöst! Außerdem kann man so auch schauen, was im anderen Forum für Ideen geäußert wurden und diese dann im eigenen Forum evtl. aufgreifen und ggf. weiter entwicklen verbessern.


OK...


----------



## The_S (22. Feb 2007)

Schonmal überlegt anstelle mehrerer Fenster ein JTabbedPane zu verwenden?


----------



## André Uhres (22. Feb 2007)

Snape hat gesagt.:
			
		

> ..Das ist schlecht. Also zumindest ein Hauptfenster soll in der Taskleiste und ALT-TAB sichtbar bleiben.


Hauptfenster = JFrame, alle anderen JDialog mit dem JFrame als owner.


			
				Snape hat gesagt.:
			
		

> Mir ist auch noch eine weitere Spezialität eingefallen: Die Masken sind bisher alle einheitlich groß und nutzen die maximale Bildschirmauflösung 1024x768. Angenommen, der
> Benutzer hat mehrere Masken und Untermasken offen. Alle Masken liegen (gewollt) übereinander. Wie kann er zwischen den Masken wechseln, wenn sie nicht in ALT-TAB erscheinen? ..


Da sind wir aber wieder weg vom Ziel:


			
				Snape hat gesagt.:
			
		

> ..Ziel: Es wird nur ein JFrame (Hauptframe z.B.) in der Taskleiste und in der ALT-TAB-Liste angezeigt..



Wie Hobbit vorschlägt: du brauchst wahrscheinlich weiter nix als ain JFrame mit JTabbedPane.


----------



## Snape (22. Feb 2007)

Nein. Dazu muss ich sagen, dass es sich hierbei um eine Portierung einer Access-Anwendung handelt. D.h. der Benutzer ist es gewohnt so zu arbeiten und möchte das beibehalten.
Für Winblows klappt es vllt mit JInternalFrames und Fensterwechsel mit STRG-F6 (Winblows Tastenkombination zum Wechsel zwischen den Fenstern innerhalb eines Programms).


----------



## The_S (22. Feb 2007)

Wie ist es denn in Access geregelt? Wenn die Fenster dort auch nicht in der Task-/Tableiste erscheinen und komplett übereinander liegen, kommen dort die User ja auch nicht ran ...


----------



## Snape (22. Feb 2007)

André Uhres hat gesagt.:
			
		

> Snape hat gesagt.:
> 
> 
> 
> ...


Ja, ein Frame in ALT-TAB bzw. Taskleiste. In diesem Frame sollen ja beliebig viele (Unter-)Masken geöffnet sein können, die nach Wechsel in das (sichtbare) Frame gewählt werden können.


			
				André Uhres hat gesagt.:
			
		

> Wie Hobbit vorschlägt: du brauchst wahrscheinlich weiter nix als ain JFrame mit JTabbedPane.


Das könnte problematisch und beliebig aufwendig werden bei ca. 10 Hauptmasken. Oder sollen die Masken (bisher JFrames) in die Tabs gelegt werden? Geht das überhaupt?  ???:L


----------



## The_S (22. Feb 2007)

lass halt einfach anstelle von JFrame von JPanel erben und lege diese dann einfach in jeweils einen Tab ab!

Wenns Untermasken seien sollen, die beim öffnen des Hauptframes angewählt werden können, wären wir wieder bei einem JDesktopPane mit JInternalFrames!


----------



## Snape (22. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wie ist es denn in Access geregelt? Wenn die Fenster dort auch nicht in der Task-/Tableiste erscheinen und komplett übereinander liegen, kommen dort die User ja auch nicht ran ...


Dort waren die Masken nicht so groß...
(Nein, ich kann sie nicht verkleinern, weil sie etwas erweitert wurden)


----------



## The_S (22. Feb 2007)

Wenn die Masken verändert wurden kann sich der User auch an eine daraus resultierende, LEICHTE Veränderung der Benutzeroberfläche gewöhnen  .


----------



## André Uhres (22. Feb 2007)

@Snape: Entscheide dich doch bitte einmal für eine Konstellation, mir wird schon ganz schwindelig  :x


----------



## Snape (22. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wenns Untermasken seien sollen, die beim öffnen des Hauptframes angewählt werden können, wären wir wieder bei einem JDesktopPane mit JInternalFrames!


Ich denke darauf wird es hinauslaufen - vorausgesetzt der Maskenwechsel funktioniert mit STRG-F6 oder sonstwie...

Thx erst mal.



			
				André Uhres hat gesagt.:
			
		

> @Snape: Entscheide dich doch bitte einmal für eine Konstellation, mir wird schon ganz schwindelig


Entschieden war das doch, evtl. etwas unklar ausgedrückt.  :wink:


----------



## The_S (22. Feb 2007)

Snape hat gesagt.:
			
		

> Hobbit_Im_Blutrausch hat gesagt.:
> 
> 
> 
> ...



Du bist dann Java-Intern, d. h. du kannst deine eigenen Key-Events für den Maskenwechsel machen. Oder alternativ du minimierst einfach die JInternalFrames innerhalb des JDesktopPanes. Bzw. packst das JDesktopPane in ein JScrollPane und zeigst alle Masken leicht versetzt an.


----------



## André Uhres (22. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> ..packst das JDesktopPane in ein JScrollPane..


So einfach geht das ja wohl nicht?


----------



## Snape (22. Feb 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Du bist dann Java-Intern, d. h. du kannst deine eigenen Key-Events für den Maskenwechsel machen. Oder alternativ du minimierst einfach die JInternalFrames innerhalb des JDesktopPanes. Bzw. packst das JDesktopPane in ein JScrollPane und zeigst alle Masken leicht versetzt an.


Jo klingt gut. Irgendwas mit wenig Aufwand wird sich da schon finden lassen.

Thx.

(Kann abgehakt werden, aber da ich trotz login irgendwie wieder ausgeloggt wurde und als Gast gepostet habe, kann ich das selbst nicht  :roll: )


----------



## The_S (22. Feb 2007)

André Uhres hat gesagt.:
			
		

> Hobbit_Im_Blutrausch hat gesagt.:
> 
> 
> 
> ...



Ja gut, man muss schon Position und größe der JInternalFrames abfragen um die JDesktopPane dementsprechend in der Größe anzupassen, aber wenn man das hat ist der Rest einfach


----------

