У меня есть приложение, в начале отображается Jframe, пользователь вводит URL веб-страницы, которая должна быть проанализирована, затем пользователь нажимает кнопку ОК.
Когда пользователь нажимает кнопку ОК, actionListener должен сделать следующее:должен отобразить новый Jframe с текстом «пожалуйста, подождите, анализ веб-сайта, это может занять немного времени», затем он должен запустить метод analyPage ().
проблема в том, что после того, как пользователь нажимает кнопку «ОК», новый Jframeотображается, но оно пустое, только с белым прямоугольником внутри.Только после завершения метода analyPage () (то есть через много секунд) отображается содержимое Jframe.
static class OKListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
new WaitFrame();
// mf is main frame (the first frame where url was entered and where OK was clicked)
mf.setEnabled(false);
address = mf.getURLtext();
analyzePage();
}
}
public class WaitFrame extends JFrame {
public WaitFrame() {
super();
JFrame wait = this;
JLabel jl = new JLabel("Čakajte prosím, analyzujem stránku, môže to chvíľu trvať.");
JPanel jp = new JPanel();
jp.add(jl);
wait.getContentPane().add(jp);
wait.pack();
wait.setVisible(true);
}
}