【问题标题】: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";
}
请随意评论这不是正确的方法。