我现在一直在苦苦挣扎这个问题,但似乎无法解决。我需要一种在JavaFX应用程序中显示表情符号(如WhatsApp)的方法。
我已经尝试使用awt和Swing,但都没有成功(编辑:Swt适用于Mac),我尝试使用扩展Unicode和代码点,但这并没有帮助。我希望它甚至可能是可能的,因为Windows通常不允许您显示表情符号(我自己使用Mac)。
今天我偶然发现了JavaFX 8中关于表情符号的帖子。那里有一个人说他通过扩展javafx.scene.text.TextFlow
类实现了在JavaFX中显示表情符号的方法。还有一个链接到小型演示,从第57张幻灯片开始,它会对这些所谓的EmojiFlow
对象进行一些解释。但是,我似乎找不到下载链接!
感谢所有回答的人,我一直在苦苦挣扎这个问题,也许这甚至是不可能的。
这是一个不起作用的例子:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
VBox root = new VBox();
// I used TextFlow here because the article suggested
// extending this class, but I know it's not working
// just like this
TextFlow textFlow = new TextFlow(new Text("Should be alien smiley: "
+ (char) 0xF47D));
// casting a hex number to a char is equal to using "\uF47D"
root.getChildren().add(textFlow);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}