Button events in ListCells not working

Jonathan Giles jonathan.giles at oracle.com
Thu Feb 13 23:09:10 PST 2014


File a bug in Jira and I can take a closer look in the coming days. Thanks!
-- Jonathan
Sent from a touch device. Please excuse my brevity.

On 14 February 2014 19:46:12 GMT+13:00, Daniel Opitz <dfxloc at gmail.com> wrote:
>Hi,
>
>I found something that looks like a bug. When a Button is placed in a
>ListCell (or probably any other Cell) its onAction event is never fired
>and onMouseClicked very rarely and seemingly randomly. Or is it me
>doing things the wrong way? Using the JDK8 RC. Here is some example
>code:
>
>import javafx.application.Application;
>import javafx.collections.FXCollections;
>import javafx.collections.ObservableList;
>import javafx.scene.Scene;
>import javafx.scene.control.Button;
>import javafx.scene.control.ListCell;
>import javafx.scene.control.ListView;
>import javafx.stage.Stage;
>
>public class Testing extends Application {
>
>    public static void main(String[] args) {
>        launch(args);
>    }
>
>    @Override
>    public void start(Stage primaryStage) throws Exception {
>        ObservableList<String> strings =
>FXCollections.observableArrayList();
>        strings.addAll("text", "another");
>        ListView<String> list = new ListView<>(strings);
>        list.setCellFactory(cell -> new ButtonCell());
>        Scene s = new Scene(list, 300, 400);
>        primaryStage.setScene(s);
>        primaryStage.show();
>    }
>
>    private class ButtonCell extends ListCell<String> {
>
>        @Override
>        protected void updateItem(String item, boolean empty) {
>            super.updateItem(item, empty);
>            if (empty) {
>                setText(null);
>                setGraphic(null);
>            } else {
>                setText(item);
>                Button b = new Button("button");
>                b.setOnAction(action -> System.out.println("zam"));
>                b.setOnMouseClicked(action ->
>System.out.println("bam"));
>                setGraphic(b);
>            }
>        }
>    }
>}
>
>
>-- 
>Daniel Opitz


More information about the openjfx-dev mailing list