Datentypen Emojis in Java

Dieses Thema Datentypen - Emojis in Java im Forum "Allgemeine Java-Themen" wurde erstellt von f10, 3. Jan. 2017.

Thema: Emojis in Java Jeder von euch kennt doch diese Emojis auf den Smartphones, jetzt wollte ich mal sehen, ob man die auch in einer...

  1. f10
    f10
    Jeder von euch kennt doch diese Emojis auf den Smartphones,
    jetzt wollte ich mal sehen, ob man die auch in einer Swing-Anwendung nutzen kann.

    Da hab ich sowas hier gefunden: emoji-java on GitHub
    Das Problem ist nun allerdings, Emojis werden doch erst mit Unicode 6 unterstützt, oder? Aktuell unterstützt Java 8 SE Unicode 6.2, wenn ich mich auf Quellen des OpenJDK berufen darf, sehe ich das richtig?

    Warum kann meine Swinganwendung dann kein Emoji anzeigen? Lediglich ein leeres Quadrat (Platzhalter?) wird angezeigt. Konsolenausgabe wirft lediglich ein ?.

    Laut der Unicode-Tabelle beginnen die Emojis bei U+1F600. Kann das ein char eigentlich noch darstellen? U+1f600 sind dezimal ja 128512, und Character.MAX_CODE_POINT ist 1114111. Dürfte also noch machbar sein, oder sehe ich das falsch?

    Hat jemand schon mal ähnliche Probleme gehabt?


    LG
    f10
     
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*
  3. Kannst du sie denn auf der Konsole ausgeben?

    Zumindest System.out.println("\uD83E\uDD21"); gibt bei mir (macOS Sierra) das entsprechende aus, scheint also grundsätzlich zu klappen
     
  4. f10
    f10
    Unter Windows 10 und Mac OS X El Capitan funktioniert
    Code (Text):
    System.out.println("\uD83E\uDD21");
    nicht. Ein Fragezeichen respektive ein umrahmtes Fragezeichen wird ausgegeben. Liegt das echt am Betriebssystem?
     
  5. Wie ist's mit "\uD83D\uDE00"?

    "\uD83E\uDD21" ist eins der ganz neuen, El Capitan unterstützt das auf jeden Fall nicht
     
  6. Also unter Win10 klappt das neue bei mir.
     
  7. f10
    f10
    Funktioniert unter El Capitan, aber nicht unter Windows 10.

    Mhm, heißt also, ist wirklich abhängig vom Betriebssystem. Was ist das eigentlich für ein Konstrukt mit den zwei Unicodezeichen? Und welchen Sinn hat dann die externe Library "emoji-java"? (siehe erstes Posting)

    Wie find ich jetzt heraus, welche Emojis funktionieren und wie kriege ich die auch unter Windows 10 zum Laufen?

    Bei mir werden nur Fragezeichen in der Konsole angezeigt.
     
  8. Mh. In der Intellij Konsole funktioniert es, in der CMD nicht. Wahrscheinlich benutzt die einen anderen Zeichensatz?!

    Edit: Guck mal hier http://ss64.com/nt/chcp.html
     
  9. f10
    f10
    Also bezüglich der Konsole, da hab ich zum testen jeweils die von Eclipse Neon unter El Capitan und Windows10 benutzt.
     
  10. Als ich mal emojis in eine Swing Anwendung eingebaut habe, habe ich einen etwas komplexeren Weg genommen. Ich habe mit einem JTextPane gearbeitet und ganz einfach Platzhalter mit Bildern ausgetauscht.
    also aus ${%001%} wurde dann ein so ein lachender emoji.

    nimmt etwas mehr speicher, ist mehr arbeit, und alle emojis müssen als Bilder vorhanden sein.
    ABER es funktioniert.
     
  11. Kostenloses Java-Grundlagen Training im Wert von 39 €
    Schau dir jetzt hier das Tutorial an und starte richtig durch!