Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-11-2010, 10:58   #1
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
[Java] undecorated as full screen?

...sto smanacciando con alcuni applicativi che necessitano di funzionare in full screen...per impedirne la chiusura da parte degli utenti e per rendere il tutto piu' carino ho deciso di eliminare le cornici sfruttando jframe.setUndecorated(true); ...il problema si presenta quando decido di mettere sopra questa finestra java un filmato tramite mplayer come player video...comandi come l'ontop su file di configurazione o above tramite il gestore di finestre devilspie vengono ignorati nel caso in cui java abbia clausola undecorated attiva...nel caso contrario il tutto funge...in sinto il problema sorge perchè mplayer perde l'ontop quando qualcuno usa l'interfaccia java se questa ha proprietà undecorated...come se prendesse il sopravvento su tutte le altre finestre...è un bug noto?...o una proprietà nota?...idee per risolvere il problema?...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:01   #2
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...il titolo piu' adatto sarebbe stato undecorated as on top?...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:25   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Fammi capire, quando dici che la tua finestra java è in fullscreen intendi semplicemente che è massimizzata in larghezza e altezza oppure che funziona in fullscreen mode (rendering attivo)?

Comunque metto già le mani avanti: a parte la conoscenza di Swing è di qualche particolare interazione con il window manager dei sistemi Windows, non ho esperienze con mplayer, devilspie e window manager dei sitemi linux.

Non vuoi la "title bar" della finestra per evitare sia la chiusura della stessa che la riduzione a icona e/o ridimensionamenti vari?
Perchè se la versione undecorated ti crea questi problemi potresti visualizzare la finestra come al solito e impostare (sto ipotizzando l'uso di Swing e di JFrame):
- la "default close operation" a "DO NOTHING";
- rendere il JFrame non ridimensionabile con "setResizable(false)";
- registrare un WindowListener (o WindowAdapter) che risponde agli eventi "window closing", "window iconified" negando l'operazione e, volendo, mostrando una Dialog modale all'utente che lo informa del fatto.

Sempre se una simile soluzione è per te accettabile.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 29-11-2010 alle 11:35.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:28   #4
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Fammi capire, quando dici che la tua finestra java è in fullscreen intendi semplicemente che è massimizzata in larghezza e altezza oppure che funziona in fullscreen mode (rendering attivo)?

Comunque metto già le mani avanti: a parte la conoscenza di Swing è di qualche particolare interazione con il window manager dei sistemi Windows, non ho esperienze con mplayer, devilspie e window manager dei sitemi linux.

...setSize scelto da me...è una jframe normalissima senza appunto la barra di ridimensionamento/chiusura...potrebbe anche non occupare tutto il video...il risultato è come un full screen...ma non ho lanciato nulla di simile in realtà...l'ambiente è linux ubuntu 9.10...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:34   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Up: ho editato il mio primo post.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:43   #6
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Up: ho editato il mio primo post.
...si si letto ora...il mio intento è eliminare la barra per occupare tutta l'area utile...sarà un client usato per un solo scopo non midificabile dagli utenti...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 11:56   #7
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ally Guarda i messaggi
...si si letto ora...il mio intento è eliminare la barra per occupare tutta l'area utile...sarà un client usato per un solo scopo non midificabile dagli utenti...
Beh, usa un "truccone sporco": il tuo sistema vuole la finestra con la "title bar"?
E tu dagliela, basta solo che la posizioni a video (setBounds, oppure setLocation + setSize, dopo aver fatto i calcoli, tenendo conto che dovrai nascondere anche gli "insets" della finestra, cioè anche i bordi snx, dx, e inferiore) in modo opportuno.
Solo che come soluzione non è portabile perchè dipende dal LnF e dal sistema ospite. Di sicuro impedisce al mouse utente di andare a cliccare dove non deve

Poi comunque undecorated o no se (su windows, ad esempio) uno preme la combinazione ALT+F4 oppure ALT+TAB il danno è fatto: non basta che la finestra sia undecorated per "disabilitare" questi comportamenti.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 29-11-2010 alle 12:01.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 12:51   #8
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Beh, usa un "truccone sporco": il tuo sistema vuole la finestra con la "title bar"?
E tu dagliela, basta solo che la posizioni a video (setBounds, oppure setLocation + setSize, dopo aver fatto i calcoli, tenendo conto che dovrai nascondere anche gli "insets" della finestra, cioè anche i bordi snx, dx, e inferiore) in modo opportuno.
Solo che come soluzione non è portabile perchè dipende dal LnF e dal sistema ospite. Di sicuro impedisce al mouse utente di andare a cliccare dove non deve

Poi comunque undecorated o no se (su windows, ad esempio) uno preme la combinazione ALT+F4 oppure ALT+TAB il danno è fatto: non basta che la finestra sia undecorated per "disabilitare" questi comportamenti.
...gnome non è contento che vengano nascoste le barre delle applicazioni...non permette giochini di questo tipo...il sistema finale sarà privo di tastiera quindi il problema non si pone...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 12:52   #9
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...resta da capire per quale motivo l'undecorated prende caratteristiche di always on top...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 13:16   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
In pratica stai lavorando su un sistema kiosk-like?
Prova a fare così per rendere la tua finestra undecorated:
Codice:
JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
La terza riga in teoria dice che, se possibile, si vuole sia il LnF a provvedere per le decorazioni dei frame swing, invece che il window manager del sistema. Non so se la cosa risolva il tuo problema, tentar non nuoce. Per sapere se il LnF corrente supporta le window decoration bisogna invocare javax.swing.LookAndFeel.getSupportsWindowDecorations().

Ho trovato questo esempio nei javadoc: parti dalla documentazione di javax.swing.JFrame, metodo "setUndecorated", c'è un link di tipo "see also" per JFrame.setDefaultLookAndFeelDecorated e nella descrizione spiega tutto.

Comunque non ho capito una cosa: la finestra con mplayer e la finestra estesa a tutto schermo sono la stessa finestra o sono due finestre diverse?
Se sono due finestre diverse è importante che, dato che quella estesa e undecorated viene, da quanto dici, considerata come "alwaysOnTop", anche la seconda finestra (quella con mplayer) sia impostata come "alwaysOnTop" e all'apertura di quest'ultima la "mandi davanti" con una chiamta a 'toFront' (e di converso, puoi provare a mandare 'toBack' quella full screen).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 29-11-2010 alle 13:49.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 13:44   #11
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...ottimo spunto...tornando al discorso principale...non ho mai detto a java di mettere il frame on top...anzi da file di configurazione e tramite devilspie ho detto a mplayer di stare sempre on top...ma java despota fa bello sfoggio di se sopra tutte le finestre...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 14:15   #12
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Scusa, chiariamo una cosa che temo di non aver capito bene: ma la finestra di mplayer è in pratica un altro processo che gira fuori della JVM e non c'entra nulla con la tua applicazione Java (a parte il fatto di essere appunto lanciato come processo esterno)?

In questo caso non so proprio come aiutarti. Non c'è modo di embeddare mplayer in una finestra Swing? Magari come finestra "principale" dell'applicazione potresti usare una JDesktopPane massimizzata e per le finestre figlie dei JInternalFrame: avresti così creato una sorta di desktop "sintetico".
Se anche il JDesktopPane undecorated venisse creato sempre con quell'effetto collaterale di essere "alwaysOnTop" i JInternalFrame, in quanto figli contenuti nella "client area" di JDesktopPane, sarebbero sempre visibili (e tra l'altro potresti gestirne esplicitamente lo z-order tramite Swing).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 14:32   #13
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...il cruccio è che l'undecorated non dovrebbe comportarsi così...tutte le finestre di tutte le altre applicazioni non riescono a disegnare sopra mplayer settato on top...ma java in undecorated per qualche malsano motivo lo fa...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 15:02   #14
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ally Guarda i messaggi
...il cruccio è che l'undecorated non dovrebbe comportarsi così...
E daje questo l'ho capito, sono altri gli aspetti della tua situazione che non ho compreso bene.
Per un caso come questo ci vorrebe il "dottor" Pgi, o qualcuno che mastica bene Swing e ha esperienza sul sitema su cui stai lavorando.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 15:05   #15
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
E daje questo l'ho capito, sono altri gli aspetti della tua situazione che non ho compreso bene.
Per un caso come questo ci vorrebe il "dottor" Pgi, o qualcuno che mastica bene Swing e ha esperienza sul sitema su cui stai lavorando.
...ah ah...si scusa...era per ribadire che a mio avviso il problema non sta nel codice...ma in altro luogo...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 15:36   #16
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ally Guarda i messaggi
...ah ah...si scusa...era per ribadire che a mio avviso il problema non sta nel codice...ma in altro luogo...
eh, eh, colpa mia, non sono stato esplicito: sono d'accordo con te, quello che descrivi sembrerebbe un bug, ma non ne sono certo al 100%, non conoscendo il window manager del tuo sistema.
Io invece cercavo di suggerirti dei work-around, per quello stavo tentando di comprende bene il tuo contesto applicativo.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2010, 15:55   #17
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
eh, eh, colpa mia, non sono stato esplicito: sono d'accordo con te, quello che descrivi sembrerebbe un bug, ma non ne sono certo al 100%, non conoscendo il window manager del tuo sistema.
Io invece cercavo di suggerirti dei work-around, per quello stavo tentando di comprende bene il tuo contesto applicativo.
...per ora ho risolto mettendo l'undecorated a false e usando devilspie per eliminare le barre menu...delegando quindi al so il compito di amministrare l'estetica delle finestre...
ally è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v