# Java Andere Fenster in Borderless-Mode setzen



## IAmAWard (10. Nov 2018)

*Hey Leute,*

ich wollte fragen ob es möglich ist mittels Java ein anderes Fenster (Spiel) in den Borderless Window Mode zu setzen. Weil wenn man ein Fenster in "Always on Top" hat wird es trotzdem hinter ein Fenster gesetzt was im F11 Vollbild modus ist. Aber ist es nur im Borderless-Mode bleibt es darüber. 

Freue mich auf Antworten.
Mfg. Ward


----------



## krgewb (12. Nov 2018)

Borderless? Also es gibt die Klasse JWindow. Ein Objekt der Klasse JWindow hat standardmäßfig keine Titelleiste.


----------



## IAmAWard (12. Nov 2018)

Ja es gibt so genannte „Borderless Window“ Es sieht so aus als wäre es im Volllbildmodus, aber andere Fenster, welche always on top sind bleiben auch oben. Wenn du ein Spiel zB Minecraft im Vollbildmodus hast, dann kann kein anderes Fenster darüber liegen


----------



## Robat (12. Nov 2018)

So richtig versteh ich die Frage noch nicht. Du hast ein Fenster programmiert und möchtest, dass es immer angerzeigt bleibt und kein anderes Fenster davor kommt. Macht nicht genau das JFrame#setAlwaysOnTop(boolean) ?


----------



## IAmAWard (12. Nov 2018)

Robat hat gesagt.:


> Macht nicht genau das JFrame#setAlwaysOnTop(boolean) ?


Das ist richtig, allerdings ist es nicht mehr on top wenn man eine Vollbildanwendung bzw halt eine Anwendung mit höherem „Rang“. Deswegen muss ich Borderless Windows machen. Diese sehen aus wie ein vollbild aber überdecken keine „always on top“ Fenster. Ich hätte gerne irgendeine Methode oder Libery, welche andere Fenster zB Spiele Borderless macht. Es gibt ja schon Programme mit denen man Fenster Borderless machen kann wie geht das?


----------



## Robat (12. Nov 2018)

Ich glaube da wirst du mit Java nicht sehr weit kommen. Wenn du andere Applikationen ansprechen / "verändern" willst solltest du dir lieber mal Sprachen wie C++/C anschauen


----------



## IAmAWard (12. Nov 2018)

Ok, das bringt mir recht wenig, da ich bisher nur Java kann und eben schon alles andere in Java programmiert habe dieser Aplikation. Wäre es möglich eine datei in C zu schreiben die von java augferufen wird ja oder? Aber mir fehlt immer noch die Info wie


----------



## Robat (12. Nov 2018)

Ja das kann man machen. Stichwort JNI


----------



## Javinner (12. Nov 2018)

IAmAWard hat gesagt.:


> Borderless Window Mode


Meinst du damit Vollbild? Wenn ja, 

```
JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(true);
```


----------



## Robat (12. Nov 2018)

Javinner hat gesagt.:


> Meinst du damit Vollbild? Wenn ja,
> 
> ```
> JFrame frame = new JFrame();
> ...


Wenn ich ihn richtig verstanden habe will er andere Applikationen verändern - oder hab ich da was falsch verstanden?


----------



## Javinner (12. Nov 2018)

IAmAWard hat gesagt.:


> ich wollte fragen ob es möglich ist mittels Java ein anderes Fenster (Spiel) in den Borderless Window Mode zu setzen


Geht es auf dem Wege nicht?..


----------



## Robat (12. Nov 2018)

Nein du erstellst ja ein neues JFrame


----------



## dennisbauer (12. Nov 2018)

Hey,

Es ist nur eine Frage der Architektur. Wenn du ohne weiteres an das Problem gehen und in der Java-Welt bleiben möchtest, hast du, sofern du die Kontrolle über beide Programme hast, die Möglichkeit eines davon mit einem Rest-Service auszustatten, den du dann ansprechen könntest.

Das ist aber nicht das wirkliche Maß aller Dinge. In C# hättest du die Möglichkeit über IPC (Inter process communication) andere (deiner) Programme zu steuern. Für Java gibt es so etwas meines Wissens nach nicht


----------



## IAmAWard (12. Nov 2018)

Robat hat gesagt.:


> Wenn ich ihn richtig verstanden habe will er andere Applikationen verändern - oder hab ich da was falsch verstanden?


Exakt


----------



## IAmAWard (12. Nov 2018)

Javinner hat gesagt.:


> Meinst du damit Vollbild? Wenn ja,
> 
> ```
> JFrame frame = new JFrame();
> ...


Ja allerdings von einer anderen Aplikation auf die ich keinen direkten zugriff habe


----------



## IAmAWard (12. Nov 2018)

dennisbauer hat gesagt.:


> In C# hättest du die Möglichkeit über IPC (Inter process communication) andere (deiner) Programme zu steuern. Für Java gibt es so etwas meines Wissens nach nicht


mhm... Wie gesagt habe ich da das Problem, dass ich mich aktuell nur mit Java auskenne . Denkst du, dass ich dss mit Googlen trotzdem schaffen würde? Die Grunddinge sind bei C# ja nicht so anderes wie bei Java oder? (Hab mich jetzt nicht Informiert) Und ich selbst wenn ich mich auskennen würde wüsste ich hier trotzdem nicht weiter.


----------



## mihe7 (12. Nov 2018)

Das könnte mit https://github.com/java-native-access/jna zusammen mit den Win32-Funktionen EnumWindow/FindWindow und SetWindowLong funktionieren.


----------

