Infelizmente você nem sempre vai conseguir o código mastigado, independente de ser iniciante, precisa entender isso desde agora!
De acordo com a fonte:
Você pode limitar o tamanho máximo usando um DocumentFilter, verifique esta seção da documentação, pois possui um exemplo prático do que você precisa.
Tome isso como um exemplo, usei o componente do arquivo de exemplo acima:
Original:
You can limit the max size by using a DocumentFilter, check this documentation section, it has a working example of what you need.
Take this as an example, I used the component from the example file above:
doc = new DefaultStyledDocument();
doc.setDocumentFilter(new DocumentSizeFilter(500)); //tamanho max: 500
doc.addDocumentListener(new DocumentListener() {
//esse listener é pra adicionar alguma ação
//em alguma alteração que for feita no documento/texto
@Override
public void changedUpdate(DocumentEvent e) {
updateCount();
//esse updatecount é o método pra mostrar quantos
//caracteres faltam.
}
@Override
public void insertUpdate(DocumentEvent e) {
updateCount();
//esse updatecount é o método pra mostrar quantos
//caracteres faltam.
}
@Override
public void removeUpdate(DocumentEvent e) {
updateCount();
//esse updatecount é o método pra mostrar quantos
//caracteres faltam.
}
});
Método pra atualizar o jLabel pra mostrar qts caracteres faltam.
private void updateCount() {
remaningLabel.setText((500 - doc.getLength()) + " characters remaining");
}
no código apresentado ta com o JTextField, pode mudar pra o seu JTextArea sem problemas…
private JTextArea textField = new JTextArea();