GUI面板ActionListener

时间:2012-11-02 08:21:06

标签: java swing validation jpanel jbutton

我有一个游戏应用程序,我需要输入一个文件,在解析文件后,我可以点击一个按钮开始,游戏(位于中心面板中)开始。我有一个顶部面板(fileBrowserPanel,我浏览文件的文件系统),该面板有Browse,Start按钮。当我点击开始时,游戏应该开始运行。这是我的代码:

public BallWorld() 
    {
        setLayout(new BorderLayout());

        //File browser for INI file
        JPanel fileBrowserPanel = new fileBrowserPanel();
        add(fileBrowserPanel,BorderLayout.NORTH);
        fileBrowserPanel.add(jbtStart);

        //Ball container
        if(filePathField.getText().equals(" "))
        {
            JOptionPane.showMessageDialog(null, "Please input the XML file","Information", JOptionPane.INFORMATION_MESSAGE);        
        }

        jbtStart.addActionListener(new ActionListener()
        {public void actionPerformed(ActionEvent e)
        {
            if(filePathField.getText().equals(" "))
            {
                JOptionPane.showMessageDialog(null, "Please input the XML file","Information", JOptionPane.INFORMATION_MESSAGE);        
            }

            else
            {
                JPanel ballContainer = new BallContainer(filePathField.getText());
                add(ballContainer,BorderLayout.CENTER);
            }

        }
        });


    }

问题在于,只有当我调整窗口大小时,才会显示中心面板中的游戏。我无法弄明白。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在构造函数的末尾调用validate()