Problem polega na tym, że gdy fokus i pseudo-klasa są używane razem, to po kliknięciu ImageView nie wykonuje skoncentrowanej pracy pseudoklasy, a raczej wykonuje pracę bez pseudoklasy i jeśli usunę pseudoklasę hover, to działa dobrze, ale przy braku ostrości nie mogę wykonać efektu najechania. Gdzie jako l1 jest I dla użytkownika ImageView w górnej Anchorpane
Kod CSS:
#l1
{
-fx-image : url(logo/user.png);
}
#l1:hover
{
-fx-image : url(logo/user1.png);
}
#l1:focused
{
-fx-image : url(logo/user1.png);
}
1 odpowiedź
Czy to może być tak proste jak błąd ortograficzny? Wydaje mi się, że pseudoklasa, której szukasz, to :focus
, a nie :focused
. Zobacz tutaj: https://developer.mozilla.org/en- US/docs/Web/CSS/:focus
Nigdy nie słyszałem o :focused
.
EDIT: Najwyraźniej się myliłem i faktycznie jest inaczej pisane w JavaFX CSS. Zignoruj powyższe.
Biorąc to pod uwagę, tak naprawdę nie rozumiałem, co próbujesz zrobić, ponieważ twój opis nie był napisany bardzo wyraźnie. Jeśli moja powyższa sugestia nie zadziała, chętnie pomogę Ci to rozwiązać, ale potrzebuję, abyś wyjaśnił swoje pytanie.
Poza tym, jeśli dołączony fragment zawiera rzeczywiste style i nazwy identyfikatorów, mam dla ciebie tylko kilka małych sugestii.
1. l1
to naprawdę zła nazwa selektora. Oprócz tego, że jest niesemantyczny i nie daje Tobie ani przyszłym programistom żadnych wskazówek, co to właściwie jest, wpada również na problem postaci l
i 1
wyglądających bardzo podobnie. Powoduje to zamieszanie z wieloma różnymi czcionkami. Najlepszą praktyką są semantyczne nazwy selektorów. Więcej informacji o dobrych konwencjach nazewnictwa CSS można znaleźć w tym przewodniku: https://cssguidelin.es/#naming- konwencje
2. Z perspektywy interfejsu użytkownika podkreślenia zwykle wskazują ludziom, że to, co jest podkreślone, jest linkiem. Podkreślenie nagłówka elementu, tak jak w przypadku „Logowania użytkownika”, jest nieco nieatrakcyjne wizualnie, a także wprowadza w błąd użytkowników. Zobacz „Zalecenia i zakazy” w wytycznych dotyczących interfejsu użytkownika WPF tutaj: https://cdn.wfp.org/guides/ui/v0.14.0/basics/typography/ Lub Wytyczne Nielsen Norman Group dotyczące wizualizacji linków tutaj: https://www.nngroup.com/articles/guidelines-for-visualizing-links/
:focused
(jak udokumentowano tutaj).
javafx.scene.Node
.
Podobne pytania
Nowe pytania
javafx
Platforma JavaFX umożliwia programistom tworzenie i wdrażanie aplikacji z graficznym interfejsem użytkownika (GUI), które zachowują się spójnie na wielu platformach. JavaFX 1.3 i starsze były językami skryptowymi, podczas gdy JavaFX 2.x + / 8.x umożliwia użytkownikom korzystanie z Javy. FXML umożliwia JavaFX naśladowanie architektury MVC.
#l1:hover:focused { ... }
ImageView
domyślnie nie jest aktywowany. Czy zmieniłeś to w kodzie java?