0

Vaadin と Liferay6.0 を使用してポートレット プロジェクトを作成しています。ui から csv ファイルをアップロードしてファイルを読み取る必要があります。私のクラスはフローのようです:

@SuppressWarnings("serial")
public void init() {
    Window window = new Window("Vaadin Portlet Application");
    setMainWindow(window);
    window.addComponent(new Label("Hello Vaadin user!"));
    window.addComponent(new Label("We are here"));
    final TextField tf = new TextField("Device Name:");

    // Create the Upload component.
    final Upload upload =
            new Upload("Upload the file here", null);

    // Use a custom button caption instead of plain "Upload".
    upload.setButtonCaption("Upload Now");



    try{

        System.out.println("I am here only");
        final DeviceManager dManager = new DeviceManager();
        final DeviceSoap[] devices = dManager.getAll();
        //getDeviceByName("207.20.47.137");
        for (DeviceSoap deviceSoap : devices) {
            window.addComponent(new Label("Device Name! "+deviceSoap.getName()));

        }


        window.addComponent(tf);
        Button submitBttn = new Button("Add Device");
        Button updateBttn = new Button("Update Device");
        window.addComponent(submitBttn);            

        // Handle button clicks
        submitBttn.addListener(new Button.ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                // If the field value is bad, set its error.
                // (Allow only alphanumeric characters.)
                DeviceSoap d = new DeviceSoap();
                d.setName(tf.getValue().toString());
                try {
                    dManager.createDevice(d);
                } catch (RemoteException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });


        updateBttn.addListener(new Button.ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                // If the field value is bad, set its error.
                // (Allow only alphanumeric characters.)
                DeviceSoap d = devices[1];
                d.setName(tf.getValue().toString());
                try {
                    dManager.createDevice(d);
                } catch (RemoteException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });         


        upload.addListener((Upload.SucceededListener) this);
        upload.addListener((Upload.FailedListener) this);
        window.addComponent(upload);
    }catch(Exception e){
        e.printStackTrace();
    }
}

ありがとうございます

4

1 に答える 1

1

私は同じことをしていますが、あなたのコードを読むと、次のことを忘れていることがわかります。

window.addComponent(updateBttn);

これがうまくいくことを願っています。

于 2012-04-05T10:56:34.630 に答える