Java Vaadin 6 到 7 升级
Java Vaadin 6 to 7 upgrade
尝试从 6 升级到 7 VAADIN 时出现以下错误。
我是 Java 和 Vaadin 的新手,任何帮助都会很好。
谢谢
描述资源路径位置类型
未定义类型
的方法 getMainWindow()
private void periodicRefresh() {
// Logout if requested
if (mKicker != null) {
String kickMessage = KickoutMessageText + mKicker.getData().getName();
mKicker = null;
logoutCore();
getMainWindow().showNotification(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
}
// Refresh logged in users
refreshLoggedInUsers();
// Refresh GPIO pin states
refreshGPIOPinStates();
}
第二个问题:
描述资源路径位置类型
未为类型 new LoginForm.LoginListener()
定义方法 getMainWindow()
同样的代码
描述资源路径位置类型
方法 addComponent(LoginForm) 未定义类型面板
private void createLoginUI(final AbstractOrderedLayout parentLayout) {
final Rpi_gpio_controllerApplication application = this;
LoginForm loginForm = new LoginForm();
loginForm.addListener(new LoginForm.LoginListener() {
Rpi_gpio_controllerApplication mApplication = application;
@Override
public void onLogin(LoginEvent event) {
String loginErrorMessage = new User(
new UserData(event.getLoginParameter("username"), event.getLoginParameter("password")),
mApplication).login();
if (loginErrorMessage != null) {
Notification notification = new Notification(LoginErrorMessage, loginErrorMessage,
Notification.TYPE_ERROR_MESSAGE);
notification.setDelayMsec(1000);
getMainWindow().showNotification(notification);
}
}
});
Panel loginPanel = new Panel("Log in!!!!");
loginPanel.setWidth("200px");
loginPanel.setHeight("250px");
loginPanel.addComponent(loginForm);
parentLayout.addComponent(loginPanel);
parentLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER);
}
1st 通知以其他方式使用:
Notification.show(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
2nd - 6 中的面板具有默认内容,您可以向其中添加组件,
在版本 7 中,内容必须由您设置。
解决方案 - 创建布局 (contentLayout) 并使用 setContent(contentLayout)
然后将其他组件添加到 contentLayout
如果您需要在 vaadin 7 中获取 Window(如 getMainWindow 方法),您需要使用:
UI.getCurrent().getWindow()
编辑:
1:
private void periodicRefresh() {
// Logout if requested
if (mKicker != null) {
String kickMessage = KickoutMessageText + mKicker.getData().getName();
mKicker = null;
logoutCore();
Notification.show(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
}
// Refresh logged in users
refreshLoggedInUsers();
// Refresh GPIO pin states
refreshGPIOPinStates();
}
2:
private void createLoginUI(final AbstractOrderedLayout parentLayout) {
final Rpi_gpio_controllerApplication application = this;
LoginForm loginForm = new LoginForm();
loginForm.addListener(new LoginForm.LoginListener() {
Rpi_gpio_controllerApplication mApplication = application;
@Override
public void onLogin(LoginEvent event) {
String loginErrorMessage = new User(
new UserData(event.getLoginParameter("username"), event.getLoginParameter("password")),
mApplication).login();
if (loginErrorMessage != null) {
Notification notification = new Notification(LoginErrorMessage, loginErrorMessage,
Notification.TYPE_ERROR_MESSAGE);
notification.setDelayMsec(1000);
notification.show(Page.getCurrent());
}
}
});
Panel loginPanel = new Panel("Log in!!!!");
loginPanel.setWidth("200px");
loginPanel.setHeight("250px");
loginPanel.setContent(loginForm);
parentLayout.addComponent(loginPanel);
parentLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER);
}
尝试从 6 升级到 7 VAADIN 时出现以下错误。 我是 Java 和 Vaadin 的新手,任何帮助都会很好。 谢谢
描述资源路径位置类型 未定义类型
的方法 getMainWindow()private void periodicRefresh() {
// Logout if requested
if (mKicker != null) {
String kickMessage = KickoutMessageText + mKicker.getData().getName();
mKicker = null;
logoutCore();
getMainWindow().showNotification(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
}
// Refresh logged in users
refreshLoggedInUsers();
// Refresh GPIO pin states
refreshGPIOPinStates();
}
第二个问题: 描述资源路径位置类型 未为类型 new LoginForm.LoginListener()
定义方法 getMainWindow()同样的代码 描述资源路径位置类型 方法 addComponent(LoginForm) 未定义类型面板
private void createLoginUI(final AbstractOrderedLayout parentLayout) {
final Rpi_gpio_controllerApplication application = this;
LoginForm loginForm = new LoginForm();
loginForm.addListener(new LoginForm.LoginListener() {
Rpi_gpio_controllerApplication mApplication = application;
@Override
public void onLogin(LoginEvent event) {
String loginErrorMessage = new User(
new UserData(event.getLoginParameter("username"), event.getLoginParameter("password")),
mApplication).login();
if (loginErrorMessage != null) {
Notification notification = new Notification(LoginErrorMessage, loginErrorMessage,
Notification.TYPE_ERROR_MESSAGE);
notification.setDelayMsec(1000);
getMainWindow().showNotification(notification);
}
}
});
Panel loginPanel = new Panel("Log in!!!!");
loginPanel.setWidth("200px");
loginPanel.setHeight("250px");
loginPanel.addComponent(loginForm);
parentLayout.addComponent(loginPanel);
parentLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER);
}
1st 通知以其他方式使用:
Notification.show(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
2nd - 6 中的面板具有默认内容,您可以向其中添加组件, 在版本 7 中,内容必须由您设置。
解决方案 - 创建布局 (contentLayout) 并使用 setContent(contentLayout) 然后将其他组件添加到 contentLayout
如果您需要在 vaadin 7 中获取 Window(如 getMainWindow 方法),您需要使用:
UI.getCurrent().getWindow()
编辑:
1:
private void periodicRefresh() {
// Logout if requested
if (mKicker != null) {
String kickMessage = KickoutMessageText + mKicker.getData().getName();
mKicker = null;
logoutCore();
Notification.show(KickoutMessageTitle, kickMessage, Notification.TYPE_WARNING_MESSAGE);
}
// Refresh logged in users
refreshLoggedInUsers();
// Refresh GPIO pin states
refreshGPIOPinStates();
}
2:
private void createLoginUI(final AbstractOrderedLayout parentLayout) {
final Rpi_gpio_controllerApplication application = this;
LoginForm loginForm = new LoginForm();
loginForm.addListener(new LoginForm.LoginListener() {
Rpi_gpio_controllerApplication mApplication = application;
@Override
public void onLogin(LoginEvent event) {
String loginErrorMessage = new User(
new UserData(event.getLoginParameter("username"), event.getLoginParameter("password")),
mApplication).login();
if (loginErrorMessage != null) {
Notification notification = new Notification(LoginErrorMessage, loginErrorMessage,
Notification.TYPE_ERROR_MESSAGE);
notification.setDelayMsec(1000);
notification.show(Page.getCurrent());
}
}
});
Panel loginPanel = new Panel("Log in!!!!");
loginPanel.setWidth("200px");
loginPanel.setHeight("250px");
loginPanel.setContent(loginForm);
parentLayout.addComponent(loginPanel);
parentLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER);
}