- Details
-
Kategorie: Codeschnipsel
-
Veröffentlicht am Montag, 13. Juni 2011 00:49
-
Geschrieben von Niclas Roßberger
-
Zugriffe: 113
package de.niccomatik.codeschnipsel;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JTextField;
/**
* @author Niclas Roßberger
*
*/
public class JIntField extends JTextField {
/**
*
*/
private static final long serialVersionUID = -124760721943216060L;
private boolean negativ = false;
/**
*
*/
public JIntField() {
init();
}
/**
* @param number
*/
public JIntField(int number) {
super("" + number);
init();
}
private void init() {
this.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent ke) {
// TODO Auto-generated method stub
String z = ke.getKeyChar() + "";
if (z.equalsIgnoreCase("-") && negativ) {
if ((getText().charAt(0) + "").equalsIgnoreCase("-")) {
setText(getText().substring(1));
} else {
setText("-" + getText());
}
}
try {
Integer.parseInt(z);
} catch (NumberFormatException e) {
ke.consume();
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});
}
/**
* @param number
*/
public void setNumber(int number) {
this.setText("" + number);
}
/**
* @return Die Nummer im JIntField (bei "" wird 0 zurückgegeben)
*/
public int getNumber() {
int number = 0;
try {
number = Integer.parseInt(getText());
} catch (NumberFormatException e) {
number = 0;
}
return number;
}
/**
* @param negativ
* true = Negative Zahlen erlaubt ;
* false = Negative Zahlen verboten (Standard: flase)
*/
public void setNegativ(boolean negativ) {
this.negativ = negativ;
}
/**
* @return Ob negative Zahlen erlaubt sind
*/
public boolean isNegativ() {
return negativ;
}
}
"