Java supporta il display retina con rendering ad alta definizione, ad esempio, del testo? O è trattata come un'applicazione non modificata e quindi soggetta a ridimensionamento?
Java supporta il display retina con rendering ad alta definizione, ad esempio, del testo? O è trattata come un'applicazione non modificata e quindi soggetta a ridimensionamento?
Java 6 JRE di Apple supporterà HiDPI, tuttavia non è attualmente supportato da Java 7 JRE di Oracle. Inoltre non funziona con le ultime build di sviluppo di Java 8. Le app Swing e JavaFX sono sfocate su un MacBook Retinia. Questo è il motivo per cui IntelliJ funziona ancora con Java 6. Le applicazioni Eclipse richiedono la modalità PList menzionata da Jurriaan Mous. Le build milestone di Eclipse 4.3 non richiedono la modifica.
From: https://bugs.eclipse.org/bugs/show_bug.cgi?id=382972
Here's the workaround:
Do "Show package contents" on the Eclipse.app. Edit Contents/Info.plist using your favorite text editor. Justabove
</dict></plist>
Place this:
<key>NSHighResolutionCapable</key><true/>
Then, navigate to the folder Eclipse is stored in and execute
touch Eclipse.app
to make macOS notice the change.
Now, the info window will not show "Open in Low Resolution" as checked. LaunchEclipse and enjoy your new retina awesomeness.
L'ho appena testato sul mio MacBook Pro con retina, quindi la risposta è sì e no, almeno sotto Mountain Lion.
Se usi Java direttamente dalla riga di comando, la risposta è sì: verrà avviato in HiDPI e renderà il testo in alta risoluzione. Le cose renderizzate usando Graphics2D renderanno in modalità ad alta risoluzione. (Quindi, se rendi una linea spessa 0,5 pixel AWT e la posizioni a 0,25 / 0,75 da un pixel AWT, renderà un singolo "pixel retinico" spesso.) Allo stesso modo, il rendering di un'immagine a metà risoluzione la renderà a "retina "risoluzione.
Quindi invece di solo g.drawImage (image, x, y, observer)
dovresti fare:
g.drawImage (image, x, y, image.getWidth (observer) / 2, image.getHeight (observer) / 2, observer);
(A meno che tu non abbia una larghezza dispari / altezza, nel qual caso dovresti probabilmente usare Graphics2D e solo scale (0.5, 0.5)
per rendere un'immagine retinica.)
Se usi JavaApplicationStub, allora hai bisogno della risposta fornita di Matt Solnit, altrimenti verrà avviato in modalità "ridimensionata". (Sotto Mountain Lion, ci sono cerchi aggiunti per saltare in relazione a Gatekeeper, ma questa è una domanda diversa.)
Nota che questa risposta si applica sia a Mountain Lion che alla versione di Java fornita da Apple per esso ( Java 1.6.0_33). Potrebbe essere diverso in Java 7 per Mac OS X di Oracle e potrebbe non funzionare allo stesso modo in Lion.
È probabilmente trattato come non modificato, dato il numero di domande che si pongono su come appare Eclipse e su come migliorarlo. (Eclipse funziona su Java.)
Al negozio ho scritto HelloWorld in Swing, e il testo sembrava correttamente nitido per la retina. (Non ho provato SWT, che richiede più download per l'installazione.)
Non ho un MBP Retina, ma la VM esegue il rendering utilizzando aqua per quanto ne so, e quindi dovrebbe visualizzare pulsanti, cursori, testo e qualsiasi altro controllo Swing con la qualità della retina.