JAVAFX Style textArea用于带有气泡的聊天应用程序

时间:2014-10-20 16:43:11

标签: javafx

我正在使用JAVAFX进行聊天应用程序,我希望聊天消息以气泡形式显示。谁能向我解释怎么办? 我知道我需要在3个图像中使用泡泡 - 对于顶部,底部和中间,这取决于消息的行数。但这都是理论。我不知道如何在JAVAFX中的textArea上实现它。 如果有人能帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您知道气泡的宽度和字体的大小,您可以通过一些逻辑来确定将有多少行,因为您将知道一行中适合的字符数。例如,如果该行包含10个字符(为了便于数学运算;我确定它还有更多),那么您可以执行以下操作:

public static void main(String[] args)
{
    String in = new String("blahblahblahblahblahblahblahblahblahblahblahblahblahblah");
    System.out.println("length is " + in.length());
    int charCount = in.length();
    int allowedCharsOnLine = 10;
    int extraChars = charCount - (allowedCharsOnLine*2);
    System.out.println("extra chars is " + extraChars);
    int numberOfMiddleSections = (extraChars)/allowedCharsOnLine;
    System.out.println("You need " + numberOfMiddleSections + " middle sections");
}

将它放在java类中并运行它以查看我正在谈论的内容。 String in当然来自您的用户输入。你可能想让allowedCharsOnLine成为最终的类级别变量,但我只是把它放在那里以方便阅读。