0

I've been working on creating a chat client(java swing) and I've just made my emoticons fully useable but other than having users type ":)" for example, I want to provide a popup window with all the available emoticons. What I'm searching for is a way to make such a window( for example like Skype's). How and with what can I go about it? I've tried with a JMenu, but it doesn't do what I want. I want to put a small image(probably emoticon) near the enter text area and when it's clicked, a square filled with emoticons pops up and on mouse click for example ":)" is entered in the text area.

martin
  • 917
  • 2
  • 14
  • 31
  • Your question needs to be a little more specific. What exactly do you mean by 'popup window' as opposed to a normal JFrame? What have you tried so far and what problems did you encounter? – devrobf Dec 06 '12 at 20:49
  • @Martin what logic did you used for placing emoticons in your chat window?? I am having some problem with Implementation any help will be appreciated, thanks – Muhammad Sep 29 '14 at 14:50
  • Thanks @Martin it is nice – Muhammad Nov 04 '14 at 14:08

3 Answers3

3

This ListPanel might be a useful, as the DefaultListCellRenderer can display an 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;
}
Community
  • 1
  • 1
trashgod
  • 196,350
  • 25
  • 213
  • 918
1

In the absence of more information, I assume that what you are really after is a window which appears without window decorations (i.e. borders and title bar) and which does not show in the task bar. I therefore suggest you look at the JWindow documentation, which does exactly this.

devrobf
  • 6,323
  • 1
  • 25
  • 40
1

I suppose you mean a chat window like this sort. In that case, you'll need to learn how to layer components over one another, in this case a jPanel, or a jLayeredPane nested inside the main jFrame.

Chat

turnt
  • 2,977
  • 5
  • 19
  • 36