Hola, puedes hacerlo de esta forma:
txt.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ev){
String num=String.valueOf(ev.getKeyChar());
if((num.codePointAt(0)< 48 || num.codePointAt(0)>57) && num.codePointAt(0)!=46){
ev.consume();
}
if(txt.getText().length()>5 || (txt.getText().isEmpty() && num.equals("."))){
ev.consume();
}
if(num.codePointAt(0)==46 && txt.getText().contains(".")){
ev.consume();
}
}
});
Espero te haya sido util.
txt.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ev){
String num=String.valueOf(ev.getKeyChar());
if((num.codePointAt(0)< 48 || num.codePointAt(0)>57) && num.codePointAt(0)!=46){
ev.consume();
}
if(txt.getText().length()>5 || (txt.getText().isEmpty() && num.equals("."))){
ev.consume();
}
if(num.codePointAt(0)==46 && txt.getText().contains(".")){
ev.consume();
}
}
});
Espero te haya sido util.