如何在vaadin VerticalLayout中启用标签以进行复制粘贴

时间:2014-09-08 11:09:45

标签: label vaadin copy-paste

我正在使用VerticalLayout和嵌套标签在页面上进行简单的打印消息 无法通过复制粘贴提取显示的行。我发现,只有标题可以从标签进入剪贴板,但内容不能。

public final VerticalLayout debugLayout = new VerticalLayout();
.
.
.
debugLayout.addLayoutClickListener(new LayoutClickListener(){

private static final long serialVersionUID = 1L;

@Override
public void layoutClick(final LayoutClickEvent event) {
        debugLayout.addComponent(new Label("click"));
    }
});

Label l=new Label("The first text to be displayed, f.e. multiline SQL-command");
l.setContentMode(ContentMode.PREFORMATTED);
l.setWidth("100%");
debugLayout.addComponent(l);
.
.
public void resetDebug() {
    debugLayout.removeAllComponents();
    debugLayout.setWidth("100%");
    debugLayout.addComponent(new Button("Reset", new Button.ClickListener(){

        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(ClickEvent event) {
            resetDebug();
        }
    }));
}

现在我无法将SQL命令带入剪贴板。

为什么呢?以及如何为标签值启用复制粘贴功能?

VerticalLayout中的Click事件工作正常,新行"点击"被添加。

重置按钮也可以。
感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我真的不知道为什么,但在单独的窗口中显示工作正常:

// sessionContext is my object that contains the content
Window w1=new Window("Debug window", sessionContext.debugLayout);
w1.setWidth("600px");
w1.setHeight("400px");
w1.center();
UI.getCurrent().addWindow(w1);

为什么它在我的工作小组中没有工作的问题仍然没有答案。 如果有人想继续调查,还有一个额外的信息:

我的工作面板位于主UI中,其中包含:

  • 页面标题(用户帐户标识属性)
  • 菜单栏
  • 工作面板 - 页面的其余部分,可能是自动调整大小的问题。所有菜单项都会替换其标题和内容。

感谢所有处理此问题的人。

答案 1 :(得分:0)

现在我知道,有什么可以帮助:

从scss文件中轻松删除其他主题支持:

@import "../base/base.scss";
@import "../reindeer/reindeer.scss";

/*
@import "../runo/runo.scss";
@import "../liferay/liferay.scss";
@import "../chameleon/chameleon.scss";
@import "../valo/_valo.scss";
*/

“基地”和“驯鹿”都可以。另一个问题。通过评论排除我编译的主题,现在剪贴板复制粘贴工作。

欢迎,如果有人有任何解释。