聊天客户端表情符号窗口JAVA

时间:2012-12-06 20:43:43

标签: java swing popup window panel

我一直致力于创建一个聊天客户端(java swing),我只是让我的表情符号完全可用,但除了让用户输入“:)”之外,我想提供一个弹出窗口,包含所有可用的表情符号。我正在寻找的是一种制作这样一个窗口的方法(例如像Skype一样)。如何以及我能做些什么呢?我尝试过使用JMenu,但它没有做我想要的。我想在输入文本区域附近放一个小图像(可能是表情符号),当它被点击时,会弹出一个充满表情符号的方块,并在鼠标点击上输入例如文本区域中的“:)”。

3 个答案:

答案 0 :(得分:2)

ListPanel可能很有用,因为DefaultListCellRenderer可以显示Icon

enter image description here

Icon icon = UIManager.getIcon("html.pendingImage");
...
@Override
public Component getListCellRendererComponent(JList list, Object
    value, int index, boolean isSelected, boolean cellHasFocus) {
    JLabel label =  (JLabel) super.getListCellRendererComponent(
        list, value, index, isSelected, cellHasFocus);
    label.setBorder(BorderFactory.createEmptyBorder(N, N, N, N));
    label.setIcon(icon);
    label.setHorizontalTextPosition(JLabel.CENTER);
    label.setVerticalTextPosition(JLabel.BOTTOM);
    return label;
}

答案 1 :(得分:1)

在没有更多信息的情况下,我假设您真正关注的是一个没有窗口装饰(即边框和标题栏)并且未在任务栏中显示的窗口。因此,我建议你查看JWindow文档,它正是这样做的。

答案 2 :(得分:1)

我想你的意思是像这样的聊天窗口。在这种情况下,您需要学习如何将组件层叠在一起,在这种情况下是jPanel,或嵌套在主jFrame中的jLayeredPane。

Chat