我目前使用的版本是Jmix1.4.0,当我想要通过下面的代码为Label注入Html代码时,发现并没有生效,能否帮忙确认下是否存在该问题呢?
label.setHtmlEnabled(true);
label.setValue(htmlContent);
我目前使用的版本是Jmix1.4.0,当我想要通过下面的代码为Label注入Html代码时,发现并没有生效,能否帮忙确认下是否存在该问题呢?
label.setHtmlEnabled(true);
label.setValue(htmlContent);
你好,这个功能是可以用的。你可以在 onAfterShow
中设置试试看。
ok, 我重新试了一遍官方的例子,是正常的。
但是换成我自己写的 <audio src=“VAADIN/themes/sl-theme/alarm.wav” hidden=“true” type=“audio/wav” autoplay loop>就失败了
你的 audio
标签最后没有关闭。加上 </audio>
或者最后的 >
改成 />
试试。
这里是复制的时候漏了,实际上加了也还是不行哦
我试了好几个html5新增标签都不行
Label 的 html 文本主要还是用来展示文字的。能说下你具体的需求吗?解决方法可能并不是放在 label 中。
有一个需求需要发出提示音,所以打算往Label里插入一个audio标签
这个需要用到 Vaadin 的 Audio
类。如果是视频的话,就是用到 Video
类。具体请参考下面的代码和注释。Video 类的用法类似。
界面 XML,一个用来放音频的 vbox 以及一个播放音频的按钮:
<vbox id="audioBox"/>
<button id="play" caption="Play audio"/>
控制器代码:
private Audio audio;
//注入button
@Autowired
private Button play;
@Subscribe
private void onInit(InitEvent event) throws MalformedURLException {
audio = new Audio();
URL context = new URL(ControllerUtils.getLocationWithoutParams()); // 或者其他任何 URL
// 我这里的音频文件放在 src/main/resources/static 下,这个是 Spring 支持的静态文件目录。
audio.setSource(new ExternalResource(new URL(context, "level4.wav")));
audio.setHtmlContentAllowed(true);
audio.setShowControls(false); // 不展示音频播放控件
audioBox.unwrap(Layout.class).addComponent(audio); // 添加到 vbox 中。
play.addClickListener(e -> audio.play()); // 按钮控制播放
}
it working now, thanks a lot