Java Swing - GUI freezes when completing calculations after clicking a button

后端 未结 3 1124
予麋鹿
予麋鹿 2021-01-25 07:17

I have created a scientific calculator program. What my program does is take \"label\" which is the string inputted by the user using buttons and evaluate the expression. What m

3条回答
  •  南方客
    南方客 (楼主)
    2021-01-25 08:20

    In stead of wrapping the call in a regular Thread, make use of Swingutilities. You will need to do this since Swing isn't threadsafe. This way you will still be working on the EDT.

     SwingUtilities.invokeLater(() -> {
                    try {
                        label2.setText(bracket(splitLabel(label.getText())));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                });
    

提交回复
热议问题