У меня есть JTextPane, где я хочу ограничить ввод пользователем сообщения только 200 символами. Итак, у меня есть KeyListener, который слушает Keyevent и проверяет KeyEvent. Если сообщение содержит более 200 символов, отображается JOptionPane.showMessageDialog для отображения предупреждения пользователю. Этот бит работает отлично.Ограничение количества символов в сообщении в JTextPane
Проблема заключается в том, что после того, как предупреждение отображается, и пользователи нажимают кнопку «ОК», он может использовать только клавишу Backspace в JTextPane. Я хочу, чтобы пользователь мог использовать ключ удаления, клавиши со стрелками, клавиши сдвига и управления, чтобы иметь возможность выбирать текст для удаления.
Может ли кто-нибудь предложить способ достижения этого?
// Add Key Listener to Send Field
chatEditorKeyListener = new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
checkKeystroke(e);
}
};
private void checkKeystroke(KeyEvent e)
{
//Check if enter or back space is entered
if(e.getKeyCode() != KeyEvent.VK_BACK_SPACE && e.getKeyCode() != KeyEvent.VK_ENTER)
{
// user is typing, so test the size as we go and report when we hit boundary
String text = messageBox.getText();
if(text.length() > maxMessageSize)
{
showAlertBox();
}
}
else if (e.getKeyCode() == KeyEvent.VK_ENTER)
{
//User sending the message
e.consume();
String text = messageBox.getText();
if(text.length() > maxMessageSize)
{
showAlertBox();
}