【问题标题】:JavaFX 8 : Combobox with full screen popupJavaFX 8:带有全屏弹出窗口的组合框
【发布时间】:2015-02-23 08:32:56
【问题描述】:

我目前正在开发一个专为 windows 8 平板电脑设计的 javafx 应用程序。我为整个应用程序使用 JMetro 主题(稍微定制)。

我希望组合框的行为与 Android 上的一样,打开一个全屏弹出列表。

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

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

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

【问题讨论】:

    标签: combobox javafx popup fullscreen


    【解决方案1】:

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

    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";
    }
    

    请随意评论这不是正确的方法。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多