Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4.11.2015 14:53

Zdarec dělám v javafx a chtěl bych udělat aby když zmáčknu nějaké talčítko udělalo nějakou akci třeba změnilo barvu nebo jenom dalo stín nebo tk :p vím že existuje hover ale ten je jenom když na tlačítko najedu :) Díky moc za každou radu googlil sem a nic moc sem nenašel

 
Odpovědět 4.11.2015 14:53
Avatar
pocitac770
Redaktor
Avatar
pocitac770:4.11.2015 16:26

Stejné řešení jako zde:http://www.itnetwork.cz/…638f66def8c0 :)

 
Nahoru Odpovědět 4.11.2015 16:26
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na pocitac770
Petr Kasnal:4.11.2015 16:38

Zde de o něco trochu jiného ne ? tam nastavuji co se má stát když například kliknu na nějakou klávesu ale ja potřebuji to u butonnu to jsem tam zapoměl naspat tkže se omlouvám..

 
Nahoru Odpovědět 4.11.2015 16:38
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Petr Kasnal
pocitac770:4.11.2015 16:41

Takže myslíš normální zmáčknu tlačítko-->něco se stane? A myslíš klasický Button, nebo nějaké svoje tlačítko třeba z ImageViewu?

 
Nahoru Odpovědět 4.11.2015 16:41
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4.11.2015 16:53

Myslim normální button aby se např změnila jeho barva

 
Nahoru Odpovědět 4.11.2015 16:53
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Petr Kasnal
pocitac770:4.11.2015 16:56

FXML, nebo jen čistý FX?

 
Nahoru Odpovědět 4.11.2015 16:56
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4.11.2015 17:19

Dělám v FXML :)

 
Nahoru Odpovědět 4.11.2015 17:19
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Petr Kasnal
pocitac770:4.11.2015 17:33

Když si zakládáš nový projekt, tak tam již máš vygenerovanou metodu pro obsluhu tlačítka, ale zde ji máš (+ import samotného tlačítka do kódu).

@FXML
private Button tlacitko;

@FXML
private void handle(ActionEvent event){

}

Místo toho "handle" si můžeš dát co chceš, to je jen příklad, pak to ještě musíš napsat do Scene Builderu (nebo XML souboru), viz obrázek: https://ctrlv.cz/Ihee

Pokud jde o samotnou změnu vzhledu tlačítka, tak na to je metoda "setStyle()"¨, např. toto dá tlačítku žlutou barvu:

@FXML
private Button tlacitko;

@FXML
private void handle(ActionEvent event){
    tlacitko.setStyle("-fx-background-color: yellow");
}

Jednotlivé vlastnosti se nastavují s pomocí CSS (ne přes Javovské metody) do toho Stringu, tady máš odkaz na CSS Reference k JavaFX: http://docs.oracle.com/…/cssref.html

Doufám, že to takhle stačí a je zde vše, co potřebuješ :)

 
Nahoru Odpovědět 4.11.2015 17:33
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na pocitac770
Petr Kasnal:4.11.2015 17:58

Jo todle je super ale me jde spiše o to že jko by tam chci mit jenom efekt kliknutí... nějak to udělat

Editováno 4.11.2015 17:59
 
Nahoru Odpovědět 4.11.2015 17:58
Avatar
pocitac770
Redaktor
Avatar
pocitac770:4.11.2015 18:14

Takže teď jsem úplně mimo.... myslíš teda něco takového (zjednodušeně)?

@FXML
private void zmacknuti(MouseEvent event){
    tlacitko.setStyle("-fx-background-color: yellow");
}
@FXML
private void uvolneni(MouseEvent event){
    tlacitko.setStyle("-fx-background-color: aquamarine");
}

a Scene Builder: https://ctrlv.cz/Z7JN

Pokud jsem zase mimo, tak prosím to popiš co nejlépe dokážeš...

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +1 4.11.2015 18:14
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na pocitac770
Petr Kasnal:4.11.2015 18:24

Yees ! To je to co sem hledal diky moc !

 
Nahoru Odpovědět  +1 4.11.2015 18:24
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 11 zpráv z 11.