我有一個MenuButton只包含CheckMenuItems。我的用戶通常會檢查幾個項目,如果他必須重新打開每個項目的菜單,他很快就會把鼠標扔到屏幕上。Javafx:禁用菜單(MenuButton)自動關閉
我選擇使用menubutton而不是combobox,因爲它似乎不可能將複選框放入組合框(https://community.oracle.com/thread/2598157)。
任何人有想法? 非常感謝, Léo
我有一個MenuButton只包含CheckMenuItems。我的用戶通常會檢查幾個項目,如果他必須重新打開每個項目的菜單,他很快就會把鼠標扔到屏幕上。Javafx:禁用菜單(MenuButton)自動關閉
我選擇使用menubutton而不是combobox,因爲它似乎不可能將複選框放入組合框(https://community.oracle.com/thread/2598157)。
任何人有想法? 非常感謝, Léo
除了提供菜單項以提供帶切換按鈕的工具欄之外,
注意:Drombler FX提供了一個action framework來保持菜單項和工具欄按鈕之間的狀態和邏輯同步。它也支持CheckMenuItems和切換按鈕。
聲明:我是Drombler FX的作者。
這爲我工作:
@FXML
public void autoShow() {
checkmenuitem.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent e) {
e.consume();
}
});
}
checkmenuitem是id。當它被點擊時,處理方法被執行。有關event.consume()方法的詳細說明,請參閱本:
What is the meaning of Event consumes in JavaFX
將上述方法在你的控制器類,然後從初始化方法在你的控制器類調用它:
@Override
public void initialize(URL location, ResourceBundle resources) {
autoShow();
}
你有沒有試過[ControlsFX CheckedComboBox](http://controlsfx.bitbucket.org/org/controlsfx/control/CheckComboBox.html)? – ItachiUchiha
這是不可能的,因爲我正在使用java 7和controlsFX目標java 8(與java 7不兼容,我嘗試了並獲得了一個不錯的UnsupportedClassVersionError)。目前,我無法將我的項目切換到java 8。 –