Domanda:
Supporto retina Java e Mac
Paul Wagland
2012-06-15 00:20:50 UTC
view on stackexchange narkive permalink

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?

Sei risposte:
Ryan J. McDonough
2013-01-14 09:31:22 UTC
view on stackexchange narkive permalink

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.

Jurriaan Mous
2012-06-21 23:43:17 UTC
view on stackexchange narkive permalink

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.

Questo è un ottimo suggerimento, ma in realtà non risponde alla mia domanda. Voglio davvero conoscere le applicazioni java native e le applet, non solo Eclipse ... Detto questo, è fantastico sapere che posso far funzionare Eclipse!
Xenoveritas
2012-08-05 06:58:06 UTC
view on stackexchange narkive permalink

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.

Funziona anche per me. Ho scritto un'app che crea un'icona nella barra delle applicazioni. Secondo SystemTray.getSystemTray (). GetTrayIconSize () la dimensione è 22 x 22 (come in un MacBook senza display retina). Tuttavia, se aggiungo un'immagine di 64 x 64 pixel, disegna perfettamente.
Su un rMBP da 15 "la mia esperienza è che per la maggior parte, le applicazioni / applet Java" funzionano "con retina SE stai usando JVM di Apple (1.6). Usando Java 1.7 di Oracle, tutto è sfocato.
Cajunluke
2012-06-15 01:43:08 UTC
view on stackexchange narkive permalink

È 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.)

Nota che Eclipse è basato su SWT, non su Swing, quindi anche se basato su Java, la grafica sicuramente non lo è.
Ken
2012-06-18 04:53:13 UTC
view on stackexchange narkive permalink

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.)

iracigt
2012-06-18 09:02:42 UTC
view on stackexchange narkive permalink

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.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...