2016-09-08 6 views
0

Я использую ControlsFX - HiddenSidesPane, где я добавляю ссылку (ToggleButton s), которую нужно нажать для навигации.ControlsFX HiddenSidesPane hides При нажатии

Проблема у меня есть, когда что-либо нажимается, шкуры HiddenSiddesPane.

Желаемое поведение, когда что-либо внутри него щелкнуло, оно не должно закрываться/скрываться, если курсор не вылетел из него.

SSCCE для демонстрации нежелательного поведения

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.ListView; 
import javafx.scene.control.TableView; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 
import org.controlsfx.control.HiddenSidesPane; 

public class MyHiddenSidesPaneDemo extends Application{ 
public static void main(String[] args) { Application.launch(args); } 

@Override 
public void start(Stage primaryStage) throws Exception { 
    VBox root = new VBox(); 
    TableView tv = new TableView(); 
    HiddenSidesPane hiddenSidesPane = new HiddenSidesPane(); 
    hiddenSidesPane.setContent(tv); 
    hiddenSidesPane.setLeft(new ListView()); 
    root.getChildren().addAll(hiddenSidesPane); 
    primaryStage.setTitle("HiddenSidesPane Example Demo"); 
    Scene scene = new Scene(root); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 
} 
} 

ответ

3

Попробуйте следующее:

ListView listView = new ListView(); 
hiddenSidesPane.setLeft(listView); 

listView.setOnMouseEntered(e->hiddenSidesPane.setPinnedSide(Side.LEFT)); //Keep left side pinned 
listView.setOnMouseExited(e->hiddenSidesPane.setPinnedSide(null)); //unpin when mouse exits