0

私はチャットクライアント(java swing)の作成に取り組んでおり、絵文字を完全に使用できるようにしましたが、たとえば、ユーザーに「:)」と入力させる以外に、使用可能なすべての絵文字をポップアップウィンドウに表示したいと思います。私が探しているのは、そのようなウィンドウを作成する方法です(たとえば、Skypeのように)。どのようにそして何でそれについて行くことができますか?JMenuを試してみましたが、希望どおりに動作しません。入力テキスト領域の近くに小さな画像(おそらく絵文字)を配置したいのですが、クリックすると、絵文字で満たされた正方形がポップアップし、マウスをクリックすると、たとえば「:)」がテキスト領域に入力されます。

4

3 に答える 3

3

を表示できるので、これListPanelは便利な場合があります。DefaultListCellRendererIcon

ここに画像の説明を入力してください

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;
}
于 2012-12-06T23:46:00.810 に答える
1

詳細情報がない場合、あなたが本当に求めているのは、ウィンドウの装飾(つまり、境界線とタイトルバー)なしで表示され、タスクバーには表示されないウィンドウであると思います。したがって、まさにこれを行うJWindowドキュメントを参照することをお勧めします。

于 2012-12-06T21:00:23.737 に答える
1

このようなチャットウィンドウを意味していると思います。その場合、コンポーネントを相互に階層化する方法を学ぶ必要があります。この場合は、jPanel、またはメインのjFrame内にネストされたjLayeredPaneです。

チャット

于 2012-12-06T21:01:50.110 に答える