Чат клиента смайликов окно JAVA
Я работал над созданием чат-клиента (java swing), и я только что сделал свои смайлики полностью пригодными для использования, но кроме того, что у пользователей есть тип «:)», например, я хочу предоставить всплывающее окно со всеми доступными смайликами. То, что я ищу, – это способ сделать такое окно (например, как Skype). Как и с чем я могу это сделать? Я пробовал с JMenu, но он не делает то, что я хочу. Я хочу поместить небольшое изображение (возможно, смайлик) рядом с текстовой областью ввода, и когда он щелкнут, появится квадрат с смайликами и щелчком мыши, например, «:)» будет введено в текстовую область.
- Цвет выбранной вкладки в нижней навигации
- Как скрыть навигационную панель постоянно в андроид-активности?
- Как оживить Burger в Arrow с помощью Appcompat v7 21, панели инструментов и DrawerLayout
- Как установить текст панели инструментов и цвет стрелки назад
- Не удается уловить событие нажатия кнопки кнопки панели инструментов
- c: forEach внутри перьев (например, p: panelgrid) внутри ui: repeat
- Android: как заголовок центра в ToolBar
- Изменить размер для строки состояния вызова?
Полагаю, вы имеете в виду окно чата, подобное этому. В этом случае вам нужно научиться компоновать компоненты друг над другом, в этом случае jPanel или jLayeredPane, вложенные внутри основного jFrame.
Этот 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; }
В отсутствие большей информации я предполагаю, что то, что вы действительно на самом деле, – это окно, которое появляется без оконных украшений (т.е. границ и заголовка) и которое не отображается на панели задач. Поэтому я предлагаю вам посмотреть документацию JWindow , которая делает именно это.