Avatar
vlastajuracka:

Ahoj ldii mám tkový problém... Mám třídní proměnou a když chci tu proměnou použít je nulová.... Viz příklad
Mám vytvořené fxml a tadle třída je jako controller možná je to tím

public double cislo;
public class Prikad implements Initializable {
        public void nastav(double cislo) {
                this.cislo = cislo;
        }
}

Nyní když použiju metodu v nějaké třídě a nastávím tím proměnou cislo její hodnota je stále 0.... Ale když je statická vše je v pořádku moc prosím o pomoc

 
Odpovědět 14. září 15:26
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na vlastajuracka
pocitac770:

Takhle z prvního pohledu to vypadá, že máš proměnnou deklarovanou nad třídou, ale asi jsi to spíš špatně napsal. Pokud to je normálně ve třídě, tak nevím, co by na tom nefungovalo, mohl by jsi tedy dodat více kódu?

 
Nahoru Odpovědět 14. září 15:52
Avatar
Odpovídá na pocitac770
vlastajuracka:

Jo omlouvám se samozřejmě proměnná má být ve třídě :p Jak říkam toto je třída Controller ve které je použit fxml návrh není to tím ?

 
Nahoru Odpovědět 14. září 17:32
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na vlastajuracka
pocitac770:

Ne, není, akorát si musíš uvědomit, že metodu voláš na instanci, tudíž si musíš předávat pořád jednu a tu samou... "aktivní", "zobrazující" instanci controlleru, kterou získáš přes this, například

public void initialize(){
        VypocetniObjekt objekt = new VypocetniObjekt(this);
}

případně pokud jde například o nějaké zobrazované číslo např v TextFieldu, tak můžeš proměnnou nabindovat přes Property, což je při práci s FXML mnohem ladnějším řešením

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 14. září 18:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.