gpt4 book ai didi

java - Vaadin:无法调用 com.vaadin.shared.ui.button.ButtonServerRpc 中的方法单击

转载 作者:行者123 更新时间:2023-11-28 22:30:36 26 4
gpt4 key购买 nike

我试图在 vaadin 中将浮点值转换为 int 值,但是当我在文本字段中插入内容并单击按钮时出现此错误(错误消息出现在按钮的上下文菜单中):

com.vaadin.server.ServerRpcManager$RpcInvocationException:无法在 com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:170) 上调用 com.vaadin.shared.ui.button.ButtonServerRpc 中的方法。 vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118) 在 com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:207)

等等。

这是我的 Java 代码:

package com.eduwallchart.schulung2;

import javax.servlet.annotation.WebServlet;

import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.TextField;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;

@Theme("mytheme")
@SuppressWarnings("serial")
public class MyVaadinUI extends UI {

@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset = "com.eduwallchart.schulung2.AppWidgetSet")
public static class Servlet extends VaadinServlet {
}

@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);

Button button = new Button("Convert Float to Int");
final TextField textfield = new TextField("Int-Wert:");
Label label = new Label("0.0");
button.addClickListener(new Button.ClickListener() {

public void buttonClick(ClickEvent event) {
float floatValue;
String intValue;
floatValue = (Float) textfield.getData();
intValue = String.valueOf(floatValue);
textfield.setCaption(intValue);
}
});

layout.addComponent(textfield);
layout.addComponent(button);

}

}

我在 NetBeans 7.4 中运行代码,并且我正在使用本地 TomCat 服务器(在 IDE 中)。

最佳答案

好的,我自己找到了答案。它必须是:

public void buttonClick(ClickEvent event) {
floatValue = Float.parseFloat(textfield.getValue());
intValue = Math.round(floatValue);
stringValue = String.valueOf(intValue);
textfield.setCaption(stringValue);
}

关于java - Vaadin:无法调用 com.vaadin.shared.ui.button.ButtonServerRpc 中的方法单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com