-1

我正在做一个简单的聊天应用程序,它使用 MySQL 来保存旧消息,但我遇到了一个问题,我如何使用 MySQL 结果中的用户名和字符串来包装消息,就像 Skype“显示昨天的消息”一样,当你点击它会显示消息。

此代码用于获取旧消息。我不希望这些消息立即显示在 JTextPane 中。它只会在单击“显示旧消息”更像是 JLabel 时显示?一个 JButton 就可以了。

问题是如何将它包装到 JLabel 或 JButton?

while(rs.next())
        {

            try {
                final JLabel jp = new JLabel(rs.getString("username")+ "\n");
                jp.setAlignmentY(0.75f);
                jp.addMouseListener(new MouseListener(){

                    @Override
                    public void mouseClicked(MouseEvent e) {}

                    @Override
                    public void mouseEntered(MouseEvent e) {
                        Cursor c = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
                        jp.setCursor(c);
                    }

                    @Override
                    public void mouseExited(MouseEvent e) {
                    }

                    @Override
                    public void mousePressed(MouseEvent e) {
                        if(SwingUtilities.isRightMouseButton(e)){System.out.print("lawl");}
                        jp.setForeground(Color.BLUE);

                    }

                    @Override
                    public void mouseReleased(MouseEvent e) {
                    jp.setForeground(Color.BLACK);

                    }

                });
                jp.setFont(new Font("arial",Font.BOLD,16));
                jtep.insertComponent(jp);
                sd.insertString(sd.getLength(), ": "+rs.getString("message")+ "\n", MainPanel.sas);
            } catch (BadLocationException e1) {


            }


            MainPanel.count++;}
    } catch (SQLException e) {

    }

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

您可以使用部分折叠的示例http://java-sl.com/collapse_area.html

只需修改标题并更正鼠标敏感区域即可。

于 2013-05-07T05:40:42.220 回答