Zugriff auf Desktop verhindern

Herr Kaiser

Bekanntes Mitglied
Hi Forum,

ich habe vor, eine kleine Anwendung zu schreiben, mit der Klienten am Rechner Daten eingeben. Es muss dabei verhindert werden, dass sie Zugriff auf andere Programme oder Einsicht in Daten auf dem Rechners haben. Ich habe versucht, das durch Maximieren des Fensters zu erreichen:

Java:
GraphicsDevice device;
device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
if (device.isFullScreenSupported()) {
  device.setFullScreenWindow(meinFenster);
} else {
  System.err.println("Full screen not supported");
}


Leider erziele ich damit aber keinen kompletten Vollbild-Modus; die Taskleiste (Kubuntu) wird nicht überdeckt, so dass man sich munter durch den Rechner klicken könnte. Hättet Ihr einen Rat, wie ich entweder die Taskleiste mit abgedeckt kriege oder sonstwie verhindern könnte, dass die Anwendung den Fokus verliert? Das wäre klasse ...
 
Zuletzt bearbeitet:
Danke, Loep, da hab ich wieder etwas gelernt und jetzt noch einen neuen Anhaltspunkt für weitere Recherchen ...

Wenn ich allerdings nach "Java Vollbild Taskleiste" google, finden sich interessanterweise Fragen, wie man verhindern kann, dass die Taskleiste im Vollbildmodus verdeckt wird. Offensichtlich scheint der komplette Vollbildmodus also doch auch irgendwie möglich. Oder ist das möglicherweise plattformabhängig? Leider bleibt auch so die Taskleiste noch sichtbar:

Java:
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
meinDialog.setSize(screen);

Hätte noch jemand eine Idee?
 
Zuletzt bearbeitet:
Das ganze ist Os abhängig, zb unter windows alt+strg+entf zu deaktivieren, die windows taste totzulegen sit minimum, sonst könnt eman das ja ganz einfach umgehen. (Oder nen usb stick einstecken, dann hat man das öffnen menu, und kann darüber einen explorer starten.....)

Falls du das aus Sicherheitsgründen so planst, vergiss es, irgetwer wird doch einen Weg finden das zu umgehen. Wenn muss das auf OS Systemrichtlinien implementiert werden und selbst dann ist das noch schwer da alle Löscher zu stopfen.
 
Danke, Empire Phoenix!

Die Sicherheitsanforderungen sind in meinem Fall nicht sehr hoch. Die Klienten sind während der Dateneingabe quasi unter Aufsicht, so dass es reicht, dass nicht versehentlich die Anwendung verlassen werden kann. Wenn keine weiteren Kontrollelemente sichtbar sind, laden die auch nicht dazu ein, sie mal kurz anzuklicken. Deshalb mein Ziel, irgendwie einen vollständigen Vollbildmodus hinzukriegen, der auch die Taskleiste verdeckt.

Witzigerweise habe ich es jetzt im Prinzip geschafft (mit dem Code aus meinem Eingangsposting), indem ich nicht ein JDialog, sondern einen undekorierten JFrame maximiere. ABER: das funktioniert (ohne dass ich den Code zwischendurch ändere) mal wie gewünscht (ohne sichtbare Taskleiste) und dann mal wieder nicht (Taskleiste bleibt stehen). Es ist zum Haareraufen. Ich versuche jetzt seit Stunden, irgendwie eine Gesetzmäßigkeit zu finden, aber ich kann mir überhaupt keinen Reim drauf machen. Das wirkt irgendwie sehr esoterisch.

Hätte jemand eine Idee, warum sich der selbe Code bei mehrfachen Versuchen unterschiedlich verhält???
(unter NetBeans und Kubuntu) ???
 
hmm ... hättest du es im ersten post erwähnt das du es zu anfang mit nem JDialog versucht hast hätte dir jeder sagen können das das nicht geht ...
mit nem un-decorated JFrame sieht das ganze schon wesentlich besser aus ...
versuche doch einfach mal beides ...

also ein un-decorated JFrame
größe auf auflösung setzen
und full-screen setzen ...

ansonsten : ja .. sowas ist plattformabhängig ...
unter windows z.b. ist das ganz mit nem simplen full-screen getan *natürlich muss man noch die arbeit machen um alle hotkeys zu deaktivieren* ...
unter Mac solls wohl starke probleme geben da dort die "taskleiste" wohl in dem sinne nicht bestandteil des desktop selbst ist sondern eine eigene app oder so ...
und unter unix liegt es am window-manager ...

du solltest also vllt nach einem window-manager suchen der dir das bietet was du brauchst und dann eventuell dann in nem forum fragen wie man das ganze am besten umsetzt ...

von java selbst aus kannst du lediglich den full-screen anfordern ... ob dieser auch wie gewünscht umgesetzt wird hat mit java selbst nichts mehr zu tun
 
Ok, dann liegt's zumindest nicht daran, dass ich irgendwie zu dämlich wäre;-)
Das ist beruhigend, auch wenn ich dann mein Vorhaben wohl erstmal zu den Akten legen muss.
Danke nochmals für alle Hinweise!
 

Neue Themen


Zurück
Oben