Я работаю над созданием чат-клиента (java swing), и я только что сделал свои смайлики полностью доступными, но кроме того, что у пользователей есть тип ":)", например, я хочу предоставить всплывающее окно со всеми доступные смайлики. То, что я ищу, - это способ сделать такое окно (например, как Skype). Как и с чем я могу это сделать? Я пробовал с JMenu, но он не делает то, что я хочу. Я хочу поместить небольшое изображение (возможно, смайлик) возле области ввода текста, и когда он щелкнет, появится квадрат с смайликами и щелчком мыши, например, ":)" будет введена в текстовую область.
Чат клиента смайликов окно JAVA
Ответ 1
Я предполагаю, что вы имеете в виду окно чата, подобное этому типу. В этом случае вам нужно научиться компоновать компоненты друг над другом, в этом случае jPanel или jLayeredPane, вложенные в основной jFrame.
Ответ 2
Этот ListPanel
может быть полезным, так как DefaultListCellRenderer
может отображать Icon
.
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, которая делает именно это.