Чат клиента смайликов окно JAVA

Я работаю над созданием чат-клиента (java swing), и я только что сделал свои смайлики полностью доступными, но кроме того, что у пользователей есть тип ":)", например, я хочу предоставить всплывающее окно со всеми доступные смайлики. То, что я ищу, - это способ сделать такое окно (например, как Skype). Как и с чем я могу это сделать? Я пробовал с JMenu, но он не делает то, что я хочу. Я хочу поместить небольшое изображение (возможно, смайлик) возле области ввода текста, и когда он щелкнет, появится квадрат с смайликами и щелчком мыши, например, ":)" будет введена в текстовую область.

Ответ 1

Я предполагаю, что вы имеете в виду окно чата, подобное этому типу. В этом случае вам нужно научиться компоновать компоненты друг над другом, в этом случае jPanel или jLayeredPane, вложенные в основной jFrame.

Chat

Ответ 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;
}

Ответ 3

В отсутствие большей информации я предполагаю, что то, что вы действительно на самом деле, это окно, которое появляется без оконных украшений (например, границ и заголовка) и которое не отображается на панели задач. Поэтому я предлагаю вам посмотреть документацию JWindow, которая делает именно это.