Vaadin 8.资源无法解析
Vaadin 8. Resource cannot be resolved
我尝试添加叠加插件。 https://vaadin.com/directory/component/overlays
我的图像叠加有问题。我收到那个错误:
The type com.vaadin.terminal.Resource cannot be resolved.
It is indirectly referenced from required .class file
这一行有问题:
io.setImage(res);
我该如何解决?我将 icon-new.png 放入 class 包文件夹并添加到 maven overlays plugin
我的代码:
final ImageOverlay io = new ImageOverlay(button);
Resource res = new ClassResource(this.getClass(), "../icon-new.png");
io.setImage(res);
io.setComponentAnchor(Alignment.TOP_LEFT); // Top left of the button
io.setOverlayAnchor(Alignment.MIDDLE_CENTER); // Center of the image
io.setClickListener(new OverlayClickListener() {
public void overlayClicked(CustomClickableOverlay overlay) {
Notification.show("ImageOverlay Clicked!");
}
});
layout.addComponent(io);
io.setEnabled(true);
我需要在按钮上显示一个叠加层。如果用户点击这个按钮并添加了一个新的内容,比如 taht 显示在按钮上
那是因为它仅与附加页面中指示的 Vaadin 6 兼容:
如果您滚动到评论部分,有人建议与 Vaadin 7 兼容的附加组件的分支,但我看不到与 8 相关的任何内容:
HI ALL! You can find version 1.1.3 for Vaadin 7.6 here: https://github.com/Haulmont/vaadin-overlays/releases
YURIY ARTAMONOV
与多个 Vaadin 版本兼容的附加组件,明确指出这一点,并且通常(但不一定...开发者的选择)具有不同的版本编号,例如:1.x 用于 Vaadin 6,2.x 对于 Vaadin 7,3.x 对于 Vaadin 8,等等:
无论哪种方式,单击特定 Vaadin 版本的 link,将 select 与它兼容的最新附加组件版本。或者,如果您 select 从下拉列表中发布附加组件,则与其兼容的 Vaadin 版本将相应更新。
更新后编辑
您可以使用常规按钮 + 预定义的 BUTTON_ICON_ALIGN_RIGHT Valo 样式。来自 javadoc:
/**
* Align the icon to the right side of the button caption. Can be combined
* with any other Button style.
*/
public static final String BUTTON_ICON_ALIGN_RIGHT = "icon-align-right";
请注意,为了获得最佳 UI 结果,我使用了 24x24 图标,但根据您的要求,您可以根据需要调整主题大小。此外,如果您没有图标并且不想花钱或时间购买或创建自己的图标,您可以使用现有的 Vaadin Font Icons (list of icons and matching java enum)
public class ButtonWithIconOnTheRightComponent extends VerticalLayout {
public ButtonWithIconOnTheRightComponent() {
// text filed to specify icon URL
TextField urlField = new TextField("Icon URL", "http://files.softicons.com/download/toolbar-icons/status-icons-set-by-iconleak/png/16x16/30.png");
// button which updates its icon using the URL specified in the text field above
Button button = new Button("Update icon", event -> event.getButton().setIcon(new ExternalResource(urlField.getValue())));
// use valo style to align icon to the right
button.addStyleName(ValoTheme.BUTTON_ICON_ALIGN_RIGHT);
// add components to the UI
addComponents(urlField, button);
setSpacing(true);
}
}
我尝试添加叠加插件。 https://vaadin.com/directory/component/overlays 我的图像叠加有问题。我收到那个错误:
The type com.vaadin.terminal.Resource cannot be resolved.
It is indirectly referenced from required .class file
这一行有问题:
io.setImage(res);
我该如何解决?我将 icon-new.png 放入 class 包文件夹并添加到 maven overlays plugin
我的代码:
final ImageOverlay io = new ImageOverlay(button);
Resource res = new ClassResource(this.getClass(), "../icon-new.png");
io.setImage(res);
io.setComponentAnchor(Alignment.TOP_LEFT); // Top left of the button
io.setOverlayAnchor(Alignment.MIDDLE_CENTER); // Center of the image
io.setClickListener(new OverlayClickListener() {
public void overlayClicked(CustomClickableOverlay overlay) {
Notification.show("ImageOverlay Clicked!");
}
});
layout.addComponent(io);
io.setEnabled(true);
我需要在按钮上显示一个叠加层。如果用户点击这个按钮并添加了一个新的内容,比如 taht 显示在按钮上
那是因为它仅与附加页面中指示的 Vaadin 6 兼容:
如果您滚动到评论部分,有人建议与 Vaadin 7 兼容的附加组件的分支,但我看不到与 8 相关的任何内容:
HI ALL! You can find version 1.1.3 for Vaadin 7.6 here: https://github.com/Haulmont/vaadin-overlays/releases
YURIY ARTAMONOV
与多个 Vaadin 版本兼容的附加组件,明确指出这一点,并且通常(但不一定...开发者的选择)具有不同的版本编号,例如:1.x 用于 Vaadin 6,2.x 对于 Vaadin 7,3.x 对于 Vaadin 8,等等:
无论哪种方式,单击特定 Vaadin 版本的 link,将 select 与它兼容的最新附加组件版本。或者,如果您 select 从下拉列表中发布附加组件,则与其兼容的 Vaadin 版本将相应更新。
更新后编辑
您可以使用常规按钮 + 预定义的 BUTTON_ICON_ALIGN_RIGHT Valo 样式。来自 javadoc:
/**
* Align the icon to the right side of the button caption. Can be combined
* with any other Button style.
*/
public static final String BUTTON_ICON_ALIGN_RIGHT = "icon-align-right";
请注意,为了获得最佳 UI 结果,我使用了 24x24 图标,但根据您的要求,您可以根据需要调整主题大小。此外,如果您没有图标并且不想花钱或时间购买或创建自己的图标,您可以使用现有的 Vaadin Font Icons (list of icons and matching java enum)
public class ButtonWithIconOnTheRightComponent extends VerticalLayout {
public ButtonWithIconOnTheRightComponent() {
// text filed to specify icon URL
TextField urlField = new TextField("Icon URL", "http://files.softicons.com/download/toolbar-icons/status-icons-set-by-iconleak/png/16x16/30.png");
// button which updates its icon using the URL specified in the text field above
Button button = new Button("Update icon", event -> event.getButton().setIcon(new ExternalResource(urlField.getValue())));
// use valo style to align icon to the right
button.addStyleName(ValoTheme.BUTTON_ICON_ALIGN_RIGHT);
// add components to the UI
addComponents(urlField, button);
setSpacing(true);
}
}