Olá, pessoas. Comecei com o java faz pouco tempo. Estou tentando fazer uma calculadora, porém estou tendo alguns problemas.
Tenho um JTextField, que será onde o usuário irá digitar a sua conta e gostaria que ele aceitasse somente os caracteres referentes às operações possíveis. Segue o código:
private void JTF_resultadoKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String permitidos = "+-/*1234567890";
int indice = JTF_resultado.getText().length(), cont;
for(cont=0;cont<permitidos,length() - 1;cont++){
if(!Integer.toString(JTF_resultado.getText().charAt(indice)).equals(String.valueOf(permitidos.charAt(cont)))){
JOptionPane.showMessageDialog(rootPane, "Caracter não permitido.");
JTF_resultado.setText(JTF_resultado.getText().substring(0, indice - 1));
}
}
O problema é que está aparecendo esse erro:
Exception in thread “AWT-EventQueue-0” java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Tentei alterar o tamanho do loop, por pensar que ele estava tentando atingir um index que não existia na string, porém nao tive muito sucesso. Alguém pode me ajudar?