Java &引用;无法解析符号“;Vaadin上载教程中出错
我正在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
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的源代码。