public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException
{
try
{
//das net entfernen, sonst geht das setText nicht! nichts auskommentieren wenn man net genau weiß was es tut
if (s.length() > 1)
{
//wenn der String größer als 1 ist, ist es eine ganze IP und somit eine Schleife
for(int x = 0; x != s.length(); x++)
insertString(x,s.substring(x,x+1),null); //ersetzt , durch Punkt
//mach gar nix, weil die for schleife alles macht!
return;
}
else if(s.equals("-"))
{
String strTmp = myField.getText(); //holt sich den Text
if(strTmp.indexOf("-")!=-1) //schaut nach ob ein minus vorhanden ist
strTmp = strTmp.replaceAll("-",""); //wenn ja weg
else
strTmp = strTmp + "-";
super.insertString(0,"",attributeSet);
super.insertString(0,strTmp,attributeSet);
return;
}
else if(s.equals("+")) //bei einem + einfach ein weiteres - hinzufügen
{
String strTmp = myField.getText(); //holt sich den Text
if(strTmp.indexOf("+")!=-1) //schaut nach ob ein minus vorhanden ist
strTmp = strTmp.replaceAll("+",""); //wenn ja weg
else
strTmp = strTmp + "+";
super.insertString(0,"",attributeSet);
super.insertString(0,strTmp,attributeSet);
return;
}
else if(s.equals("±"))
{
String strTmp = myField.getText();
if(strTmp.indexOf("±") != -1)
strTmp = strTmp.replaceAll("±","");
else
strTmp = strTmp + "±";
super.insertString(0,"",attributeSet);
super.insertString(0,strTmp,attributeSet);
return; //damit aufgehört wird
}
Integer.parseInt(s);
}
catch(Exception ex)
{
String titel1 = "Fehler bei der Eingabe";
String message1 = "Das Eingabefeld erlaubt nur folgende Zeichen '123456789*+-±'";
JOptionPane.showMessageDialog(null, message1, titel1, JOptionPane.ERROR_MESSAGE);
return;
}
super.insertString(offset,s, attributeSet);
}