我正在做一个简单的聊天应用程序,它使用 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) {
}