Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 &引用;无法解析符号“;Vaadin上载教程中出错_Java_Upload_Vaadin - Fatal编程技术网

Java &引用;无法解析符号“;Vaadin上载教程中出错

Java &引用;无法解析符号“;Vaadin上载教程中出错,java,upload,vaadin,Java,Upload,Vaadin,我正在Java中使用Vaadin,并遵循本教程: 所以我创建了一个新的类名上传器。但在我的代码中有一些东西不起作用,我把不起作用的东西放在**文本**: import com.vaadin.server.FileResource; import com.vaadin.ui.*; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; /** * Created by mflaman

我正在Java中使用Vaadin,并遵循本教程: 所以我创建了一个新的类名上传器。但在我的代码中有一些东西不起作用,我把不起作用的东西放在**文本**:

import com.vaadin.server.FileResource;
import com.vaadin.ui.*;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

/**
 * Created by mflamant on 15/05/2017.
 */
public class Uploader {
    final Embedded image = new Embedded("Uploaded image");
    **image.setVisible(false);**

    class Image implements Upload.Receiver, Upload.SucceededListener{
        public File file;
        public OutputStream receiveUpload(String filename, String mimeType){
            FileOutputStream fos = null;
            try{
                file = new File(filename);
                fos = new FileOutputStream(file);
            } catch (final java.io.FileNotFoundException e){
                e.printStackTrace();
                return null;
            }
            return fos;
        }

        public void uploadSucceeded(Upload.SucceededEvent event){
            image.setVisible(true);
            image.setSource(new FileResource(file));
        }
    };

    Image receiver = new Image();
    Upload upload = new Upload("Upload image here", receiver);
    **upload.setButtonCaption("Start Upload");**
    **upload.SucceededListener(receiver);**

    Panel panel = new Panel("Image storage");
    Layout panelContent = new VerticalLayout();
    **panelContent.addComponents(upload, image);**
    **panel.setContent;**


}
我的错误是“无法解析符号”。你能解释一下为什么这些行不起作用吗?

没有列出应用程序的全部代码。它只包含特定于上载组件本身的代码片段。如果您只是将这些代码片段粘贴到类中,那么这些代码片段将无法工作

本示例是的一部分,希望您在达到此部分时了解基础知识

示例代码旨在作为构建Vaadin组件的方法的一部分工作。特别的错误是,您只能从可执行代码块调用方法,如
image.setVisible(false)
。不能只是将它们粘贴到类声明中,这不是有效的Java代码

教程链接到。如您所见,它包含所有必要的初始化:

public class UploadExample extends CustomComponent implements BookExampleBundle {
private static final long serialVersionUID = -4292553844521293140L;

public void init (String context) {
    //... omitted for brevity
        basic(layout);
    //... omitted for brevity
}

void basic(VerticalLayout layout) {
    final Image image = new Image("Uploaded Image");
    //the rest of the example code goes here
请注意,仅此类还不能作为独立应用程序使用。这只是其中一个组成部分

那么,您现在可以做什么:

  • 先完成。这将有助于您掌握这些概念
  • 首先阅读文档的部分。这将帮助您构建工作应用程序。然后可以跳转到特定组件
  • 从Github克隆应用程序,然后尝试了解它是如何工作的

不工作
是对您的问题极其模糊的描述。你需要解释清楚。是否存在编译错误、运行时错误、意外行为?是的,对不起,我的IDE中只有红色。用“无法解析符号”谢谢!我会的!更新:是Vaadin 14的源代码。