繁体   English   中英

停止执行代码,直到按下按钮

[英]Stop code execution until button is pressed

choose.setVisible(true)我希望首先能够选择,然后按OK按钮继续执行。 以下代码显示了chooser并且无需等待即可continues

   static class box extends JFrame {
        Checkbox cboxtps = new Checkbox("Grf1", false);
        Checkbox cboxrspt = new Checkbox("Grf2", false);
        JLabel lblQts = new JLabel("Please select graphs");
        JButton btn1 = new JButton("Go");

        public box(String str) {
            super(str);
            setLayout(new GridLayout(4, 1));
            add(lblQts);
            add(cboxtps);
            add(cboxrspt);
            add(btn1);
            btn1.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e)
                {
                    //Execute when button is pressed
                    System.out.println("You clicked the button");
                }
            });
        }
        }


    public static void main(String args[]) {
        box choose = new box("Select Graphs");
        choose.setSize(300, 150);
        choose.pack();
        choose.setVisible(true);


        List<File> filepaths = fileselect();
        list = Splitter(filepaths);
}

由于您在此处异步工作,因此必须将choose.setVisible(true)之后的代码放入actionPerformed回调中,如下所示:

public void actionPerformed(ActionEvent e) 
{
    System.out.println("You clicked the button");
    List<File> filepaths = fileselect();
    list = Splitter(filepaths);
}

通常,在处理大量回调时,最好定义帮助程序函数以避免深度嵌套。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM