¿Validación de campo y campo para números y un punto decimal?

Necesito configurar un jTextField para aceptar solo números y un punto decimal. Nada más. El punto decimal no se puede escribir más de una vez y no se permiten otros caracteres. ¿Cómo puedo hacer esto?

Escribí este código. pero no funciona bien Me refiero a que acepte cadenas hasta que escriba un punto decimal

    if (!Character.isDigit(evt.getKeyChar()) & crqty.getText().indexOf(".") != -1) {
        evt.consume();
    }

Respuestas a la pregunta(5)

Su respuesta a la pregunta