可否让ColorPicker控件默认切换到swatches标签页?或者把swatches标签页放在第一个?
这就是个 tabs,通过 unwrap + 反射拿到这个 tabs 之后,默认设置选中第三个 tab 就行。顺序不能改,Vaadin 里面写死了的。
请问tabs在哪个类,找了半天并没有找到持有tabs的类。
tabs 在 com.vaadin.ui.components.colorpicker.ColorPickerPopup
类中。可通过 ColorPicker
的成员 window
访问:
window不知道什么时候才初始化好,在afterShow事件都取不到
有什么好建议?
我感觉可以判断一下如果 window 是 null 就手动调用 createPopupWindow()
方法创建。从后面的逻辑来看Vaadin 也是在点击按钮时才创建 window。
看代码有好多要设置
if (window == null) {
// Haulmont API
createPopupWindow(color);
window.setCaption(popupCaption);
window.setRGBTabVisible(rgbVisible);
window.setHSVTabVisible(hsvVisible);
window.setSwatchesTabVisible(swatchesVisible);
window.setHistoryVisible(historyVisible);
window.setPreviewVisible(textfieldVisible);
window.addCloseListener(
event -> getState().popupVisible = false);
// Haulmont API
window.addValueChangeListener(createColorValueChangeListener());
window.getHistory().setValue(color);
window.setPositionX(positionX);
window.setPositionY(positionY);
window.setVisible(true);
window.setValue(color);
window.setModal(modal);
parent.addWindow(window);
window.focus();
放弃算了,封装的太死了。感谢支持!