Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击菜单项打开上载窗口_Java_Menu_Upload_Vaadin - Fatal编程技术网

Java 单击菜单项打开上载窗口

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

我想通过单击菜单项从Upload元素打开uploadwindow。这可能吗? 另一个想法是在菜单栏中添加upload元素,但我认为这是不可能的,对吗


谢谢你的帮助

菜单栏、菜单项、窗口和上载、布局的最简单用例留给您:

    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调用是恶意的,并阻止它)。