我目前正在开发专为Windows 8平板电脑设计的javafx应用程序。我在整个应用程序中使用JMetro主题(有点自定义)。
我希望组合框在Android上表现得像,打开一个全屏弹出列表。
我认为更好更简单的解决方案是创建一个新皮肤并用-fx-skin css插入它?之后我“只”必须创建我的弹出窗口,对click事件做出反应,并对组合框进行setValue。我查看了ComboBoxListViewSkin的源代码,但如果扩展它,我看不出要改变什么......
我有一个内置解决方案来显示全屏组合框弹出窗口?
任何帮助表示赞赏。感谢阅读。
答案 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";
}
请注意,这不是正确的方法。