JavaFX 8:带有全屏弹出窗口的Combobox

时间:2015-02-23 08:32:57

标签: combobox javafx popup fullscreen

我目前正在开发专为Windows 8平板电脑设计的javafx应用程序。我在整个应用程序中使用JMetro主题(有点自定义)。

我希望组合框在Android上表现得像,打开一个全屏弹出列表。

我认为更好更简单的解决方案是创建一个新皮肤并用-fx-skin css插入它?之后我“只”必须创建我的弹出窗口,对click事件做出反应,并对组合框进行setValue。我查看了ComboBoxListViewSkin的源代码,但如果扩展它,我看不出要改变什么......

我有一个内置解决方案来显示全屏组合框弹出窗口?

任何帮助表示赞赏。感谢阅读。

1 个答案:

答案 0 :(得分:0)

解决方案非常简单,但初学者并不明显。

public class TouchComboBoxListViewSkin<T> extends ComboBoxListViewSkin<T> {
   private ComboBox<T> comboBox;
   public TouchComboBoxListViewSkin(ComboBox<T> comboBox) {
        super(comboBox);
        this.comboBox = comboBox;
   }


   @Override
   public void show() {
        //TODO use the accessible protected popup to display the list of items 
   }
}

和一点css来使用这个皮肤:

.combo-box {
    -fx-skin: "path.to.TouchComboBoxListViewSkin";
}

请注意,这不是正确的方法。