Diskuze: Změnění barvy při stisku tlačítka

Java Java Změnění barvy při stisku tlačítka

Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:

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
 
Nahoru Odpovědět 4.11.2015 16:26
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na pocitac770
Petr Kasnal:

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:

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:

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:

FXML, nebo jen čistý FX?

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

Dělám v FXML :)

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

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:

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:

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:

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.