Domanda

Ogni volta in cui Call Pack () Method On Jframe, si sposta nella posizione iniziale dov'era quando è iniziato. Quando cerco di ottenere la posizione del JFrame (GetLocation, GetLotmentonScreen) È ancora la stessa della posizione iniziale, non importa che stia spostando la finestra. Sto eseguendo Archlinux con WM fantastico. Per favore aiuto.

Grazie UIII

Modifica: Quello che voglio è essere in grado di mostrare o nascondere alcuni componenti nella finestra principale (che causa il ridimensionamento del layout) senza spostare le finestre alla posizione iniziale.

Edit2: Quindi ho appena scoperto che Paŭlo (dal commento) è giusto. Funziona bene in XFCE, ma in WM fantastico no.

Edit3: Non capisco davvero perché stai votando la domanda. È la prima volta che sto usando la funzione Pack (), quindi non so quale sia il suo comportamento corretto. Non vi è alcuna spiegazione nel documento API Java se la posizione della finestra cambierà. Usalo solo questo il primo in WM fantastico che sto usando come My Window Manager, quindi non so che dovrebbe comportarsi in un altro modo. Ho cercato di trovare qualcosa su di esso su Internet ma non ho trovato nulla. Penso che questa domanda possa essere utile a qualcuno dopo aver trovato la soluzione. Ci sono certamente un altro sviluppatore Java che utilizza WM fantastici (o alcuni simili con lo stesso problema).

È stato utile?

Soluzione

Ho trovato la soluzione!Il problema è che Java ha alcuni problemi con alcuni gestori di finestre.La soluzione è semplice - basta installare wmname utilità ( http://tools.suckless.org/wmname) ed esegui 'wmname LG3D'.Cambia il nome effettivo del gestore di finestre in LG3D e Java lo considera come WM compatibile.

Lo so prima del mio problema.Quindi sto cercando di impostare il nome LG3D a livello globale nel file .xinitrc ma sembra che non funzioni.Devo chiamare "wmname LG3D" esplicitamente in ogni terminale che eseguirà alcune app Java.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top