NumberFormatException is driving me crazy!

Hi,

Some of my application users are complaining about seeing NumberFormatException when they try to clcik a button. I asked one of them to take a picture for me, and it turns out the error message is from a checkbox! As I know, not every user will encounter this problem, and I couldn’t reproduce this error message either. Here is the image that shows the error. Please look at my code for this window. Basically, the next button is disabled by default. User needs to click the checkbox to proceed.

PS. Vaadin is 6.8.9, Tomcat 7.0.3x

package com.kymco.resume.window;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Configurable;

import com.kymco.resume.composite.RegFormComp;
import com.vaadin.Application;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.Embedded;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;

@Configurable
public class PciWindow extends Window 
{
    private static final long serialVersionUID = -632152237454105906L;
    private HorizontalLayout mainLayout;
    private CheckBox cb;
    private Button nextBtn;
    private Button cancelBtn;
    
    public PciWindow(String caption)
    {
        super(caption);
    }
    
    @PostConstruct
    public void init()
    {
        setData("pciWindow");
        setWidth("800px");
        setHeight("650px");
        setClosable(false);
        
        mainLayout = new HorizontalLayout();
        mainLayout.setWidth("100%");
        mainLayout.setHeight("100%");
        mainLayout.setSpacing(true);
        
        VerticalLayout left = new VerticalLayout();
        left.setWidth("250px");
        Embedded banner2 = new Embedded("", new ThemeResource("../../../images/extra/joinus.jpg"));
        banner2.setWidth("250px");
        banner2.setHeight("180px");
        left.addComponent(banner2);
        Embedded banner = new Embedded("", new ThemeResource("../../../images/extra/hand_shake.jpg"));
        banner.setWidth("250px");
        banner.setHeight("180px");
        left.addComponent(banner);

        mainLayout.addComponent(left);
        
        Panel content = new Panel();
        //content.setMargin(true);
        content.setWidth("100%");
        content.setHeight("500px");
        Label text = new Label( "<h2 style='color:blue'>請閱讀相關條文並且至下方打勾!</h2><p><strong>股份有限公司招募網頁會員個人資料保護告知</strong><strong> </strong><br />當您選擇登錄本公司之全職、契約履歷資料時...omitted</p>",Label.CONTENT_XHTML);
        content.addComponent(text);
        
        cb = new CheckBox("我已充分閱讀並同意上述規定");
        cb.setDescription("請勾選再按下繼續按鈕");
        cb.setImmediate(true);
        cb.setValue(false);
        cb.addListener(new ClickListener()
        {
            private static final long serialVersionUID = 1L;
            @Override
            public void buttonClick(ClickEvent event) 
            {
                if(((CheckBox)event.getSource()).booleanValue())
                    nextBtn.setEnabled(true);
                else
                    nextBtn.setEnabled(false);
            }
        });
        content.addComponent(cb);
        mainLayout.addComponent(content);
        mainLayout.setExpandRatio(content, 1);
        
        
        HorizontalLayout hl = new HorizontalLayout();
        hl.setMargin(true);
        nextBtn = new Button("繼續");
        nextBtn.setEnabled(false);
        nextBtn.addListener(new ClickListener()
        {
            private static final long serialVersionUID = 1L;
            @Override
            public void buttonClick(ClickEvent event) 
            {
                Button button = event.getButton();
                Application application = button.getApplication();
                if(application != null) 
                {
                    Window currentWindow = button.getWindow();
                    Window mainWindow = application.getMainWindow();
                    mainWindow.removeWindow(currentWindow);
                    
                    Window regWin = new Window("線上履歷註冊");
                    regWin.setData("RegWin");
                    RegFormComp form = new RegFormComp();
                    regWin.addComponent(form);
                    regWin.setWidth("320px");
                    regWin.setHeight("-1px");
                    regWin.setResizable(false);
                    regWin.setClosable(false);
                    mainWindow.addWindow(regWin);
                    regWin.center();
                }
            }
        });
        cancelBtn = new Button("取消註冊");
        cancelBtn.addListener(new ClickListener()
        {
            private static final long serialVersionUID = -5587318292448993325L;
            @Override
            public void buttonClick(ClickEvent event)
            {
                Button button = event.getButton();
                Application application = button.getApplication();
                if(application != null) 
                {
                    application.setLogoutURL(application.getURL().toExternalForm());
                    application.close();
                }
            }
            
        });
        Label l = new Label("");
        l.setWidth("340px");
        hl.addComponent(l);
        hl.addComponent(cancelBtn);
        hl.addComponent(nextBtn);
        
        addComponent(mainLayout);
        addComponent(hl);
    }
}

The issue you are most likely experiencing is
#11641
.

It was fixed in Vaadin 6.8.11 so you need to update your Vaadin version to fix it.

Thank you, John. Updating the library right now. I will report back if the fix is ok.