[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Using queries containing pseudo-classes in JavaFX
From:       Adam Granger <adam () adamish ! com>
Date:       2017-07-23 23:08:07
Message-ID: 11373667-213E-411D-8032-0E1FEBA08C4F () adamish ! com
[Download RAW message or body]

I'm tring to use pseudo classes in programmtic query using Node.lookupAll() however \
this seems to give unexpected results.

I've searched online and can't find anything to suggest Node.lookupAll() wouldn't \
support psuedo classes...

public class Foo extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {
PseudoClass pseudoClass = PseudoClass.getPseudoClass("custom");

Label a = new Label();
a.getStyleClass().add("foo");
a.pseudoClassStateChanged(pseudoClass, false);

Label b = new Label();
b.getStyleClass().add("foo");
a.pseudoClassStateChanged(pseudoClass, true);

Label c = new Label();
c.getStyleClass().add("foo");
a.pseudoClassStateChanged(pseudoClass, true);


HBox box = new HBox(a, b, c);
primaryStage.setScene(new Scene(box));

System.out.println(box.lookupAll(":custom").size()); // expected 2
System.out.println(box.lookupAll(".foo:custom").size()); // expected 2
System.out.println(box.lookupAll(".foo").size()); // expected 3, got 3
System.out.println(box.lookupAll(":magichorse").size()); // expected 0 !!

}

}

Output

4
3
3
4
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic