Skip to content

Commit bc360a4

Browse files
committed
Closes #91: Valores altos e negativos passam a serem aceitos
1 parent 71bdf7a commit bc360a4

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/br/com/darksun/gui/characterbuilder/JPFormularioPersonagem.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,24 +192,30 @@ public void actionPerformed( ActionEvent e )
192192
{
193193
public void actionPerformed( ActionEvent e )
194194
{
195-
Pattern patNumero = Pattern.compile( "[0-9]+" );
195+
Pattern patNumero = Pattern.compile( "[+-]?[0-9]+" );
196196

197197
if ( fieldNome.getText( ).equals( "" ) )
198198
labelError.setText( "Campo Nome está em branco" );
199199
else if ( fieldCA.getText( ).equals( "" ) )
200200
labelError.setText( "Campo CA está em branco" );
201201
else if ( !patNumero.matcher( fieldCA.getText( ).toString( ) ).matches( ) )
202202
labelError.setText( "Campo CA precisa conter somente números" );
203+
else if ( !isInteger( fieldCA.getText( ).toString( ) ) )
204+
labelError.setText( "Esse número de CA está grande demais" );
203205
else if ( fieldClasse.getText( ).equals( "" ) )
204206
labelError.setText( "Campo Classe está em branco" );
205207
else if ( fieldBonusIni.getText( ).equals( "" ) )
206208
labelError.setText( "Campo de Bonus de Iniciativa está em branco" );
207209
else if ( !patNumero.matcher( fieldBonusIni.getText( ).toString( ) ).matches( ) )
208210
labelError.setText( "Campo de Bonus de Iniciativa precisa conter somente números" );
211+
else if ( !isInteger( fieldBonusIni.getText( ).toString( ) ) )
212+
labelError.setText( "Esse número de Bonus de Iniciativa está grande demais" );
209213
else if ( fieldHP.getText( ).equals( "" ) )
210214
labelError.setText( "Campo HP está em branco" );
211215
else if ( !patNumero.matcher( fieldHP.getText( ).toString( ) ).matches( ) )
212216
labelError.setText( "Campo HP precisa conter somente números" );
217+
else if ( !isInteger( fieldHP.getText( ).toString( ) ) )
218+
labelError.setText( "Esse número de HP está grande demais" );
213219
else
214220
{
215221
String imagem = "";
@@ -267,4 +273,16 @@ else if ( !patNumero.matcher( fieldHP.getText( ).toString( ) ).matches( ) )
267273
}
268274
} );
269275
}
276+
277+
public static Boolean isInteger( String valor )
278+
{
279+
try
280+
{
281+
Integer.parseInt( valor );
282+
return true;
283+
} catch ( NumberFormatException ex )
284+
{
285+
return false;
286+
}
287+
}
270288
}

0 commit comments

Comments
 (0)