Java 单击菜单项打开上载窗口
我想通过单击菜单项从Upload元素打开uploadwindow。这可能吗? 另一个想法是在菜单栏中添加upload元素,但我认为这是不可能的,对吗Java 单击菜单项打开上载窗口,java,menu,upload,vaadin,Java,Menu,Upload,Vaadin,我想通过单击菜单项从Upload元素打开uploadwindow。这可能吗? 另一个想法是在菜单栏中添加upload元素,但我认为这是不可能的,对吗 谢谢你的帮助 菜单栏、菜单项、窗口和上载、布局的最简单用例留给您: MenuBar menuBar = new MenuBar(); final Window window = new Window(); window.setContent(new Upload()); menuBar.addItem("Captio
谢谢你的帮助 菜单栏、菜单项、窗口和上载、布局的最简单用例留给您:
MenuBar menuBar = new MenuBar();
final Window window = new Window();
window.setContent(new Upload());
menuBar.addItem("Caption", new Command()
{
@Override
public void menuSelected(MenuItem selectedItem)
{
UI.getCurrent().addWindow(window);
}
});
也许一点javascript可以帮助您:
Upload upload = new Upload();
upload.setImmediate(true); // if you want to start upload after selection
upload.addStyleName("my-upload");
MenuBar menuBar = new MenuBar();
menuBar.addItem("Caption", new Command() {
private static final long serialVersionUID = 1L;
@Override
public void menuSelected(MenuItem selectedItem) {
JavaScript.getCurrent().execute(
"document.getElementsByClassName('gwt-FileUpload')[0].click()");
}
});
addComponent(upload);
addComponent(menuBar);
如果要隐藏上载,请执行以下操作:
.v-slot-my-upload {
display: none;
}
谢谢你的回答!是否可以在没有其他窗口的情况下直接打开fileChoose窗口?一个选项是直接将Upload添加到布局,并通过CSS将其样式化,使其看起来像常规的com.ui.vaadin.Button,并以如下方式直观地删除默认的Upload按钮:.gwt FileUpload{display:none;}但我无法将按钮添加到菜单栏:(Previus的评论是关于css黑客上传看起来像MenuBar.MenuItem.Thank!为了隐藏上传,我使用了
.v-Upload{display:none;visibility:hidden;}
。您的提示无效:(浏览器认为JavaScript调用是恶意的,并阻止它)。