我目前正在开发一个针对windows 8平板电脑的javafx应用程序。对于整个应用程序,我使用JMetro主题(有点定制)。
我想让组合框在Android上运行,打开一个全屏弹出列表。
我认为更好和更简单的解决方案是创建一个新的皮肤,并插入-fx-皮肤css?在此之后,我“只”必须创建我的弹出,对单击事件做出反应,并对组合框的setValue做出反应。我看了ComboBoxListViewSkin的源代码,但是如果我扩展它的话,我看不出要改变什么.
我有一个内置解决方案显示全屏组合框弹出?
任何帮助都很感激。谢谢你的阅读。
发布于 2015-02-23 09:55:47
解决方案很简单,但对于初学者来说并不明显。
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";
}请随意评论,这不是正确的方法。
https://stackoverflow.com/questions/28669590
复制相似问题