Zdravím, mám problém s metodou JTextField.getText(), měla by se vrátit hodnota String.
Když použiji následující kód (a v JTextField mám napsanou 1):
if (JTextField.getText() == "1") {
doSomething();
}
tak se nic neprovede a to jsem do toho okna napsal jen číslo 1, nefunguje mi to s žádným jiným řetězcem.
Když jsem ale zkoušel zobrazit obsah JTextField na JLabel, tak se mi objevila jen tato jednička.
Jak tedy dosáhnout toho, aby ten if statement fungoval?
Napis prosimta cely kod. Inak predpokladam ze ked nieco napises, tak nevolas okamzite KeyListener, alebo nieco podobne. Uvedom si ze ked sa vytvori TextField tak sa v nom nachadza len prazdny retazec (mozno null to uz neviem) a to je zhruba vtedy ked bezi aj tvoj kod. Iny dovod aby ti to nefungovalo to nema. Cize musis najskor napisat Listener ktory po urcitej akcii vola tvoj kod, napr. po napisani znaku, prip. stlaceni tlacitka. Cize podme to urobit tak ze volas svoj kod za kazdym ked nieco napises.
final JTextField textField = ....
KeyLitener kl = new KeyLitener(){
public void keyTyped(KeyEvent e){
if(textField.getText().equals("1")){
doSomethig();
}
// pripadne ak chces iba jednotku zachytit tak sa pytaj na key// Code z KeyEventu metodou getKeyCode() to ti vrati cele cislo
// alebo getKeyChar() ti vrati Znak (char)
}
.... // dalsie metody keyLiteneru
};
textField.addKeyListener(kl);