Pewnie, że można https://stackoverflow.com/questions/3519151/how-to-limit-the-number-of-characters-in-jtextfield
tutaj przykład
https://www.rgagnon.com/javadetails/java-0198.html kolejne limitowanie, jeśli nie korzystasz z jakiejś biblioteki ...
public class JTextFieldLimit extends JTextField {
private int limit;
public JTextFieldLimit(int limit) {
super();
this.limit = limit;
}
@Override
protected Document createDefaultModel() {
return new LimitDocument();
}
private class LimitDocument extends PlainDocument {
@Override
public void insertString( int offset, String str, AttributeSet attr ) throws BadLocationException {
if (str == null) return;
if ((getLength() + str.length()) <= limit) {
super.insertString(offset, str, attr);
}
}
}
bardziej dynamiczne rozwiązanie, nie tworząc np klasy dodatkowej
textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
if (txtGuess.getText().length() >= 3 ) // limit to 3 characters
e.consume();
}
});
możesz pokombinować i skorzystać z tego co wyżej :) w razie "W" pytaj