привет, у меня есть Jframe с CardLayout и 3 карты. У меня есть ActionListener на кнопке на первой карточке.
Этот код работает хорошо:
JButton btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
CardLayout cl = (CardLayout)(cards.getLayout());
cl.show(cards, "wait");
}
}
проблема в том, что когда я добавляю код для входа на сервер (я разрабатываю клиент xmpp):
JButton btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
CardLayout cl = (CardLayout)(cards.getLayout());
cl.show(cards, "wait");
xmppManager = new Xmpp("jabberserver", 5222);
try {
xmppManager.init();
} catch (XMPPException e) {
e.printStackTrace();
}
cl.show(cards, "userList");
}
}
По сути, мне нужно показать карточку «подождите», когда пользователь нажимает кнопку входа, выполняет вход, а затем показывает другую карточку. Но в этом случае карточка «ожидание» не отображается, она выполняет вход в систему (это занимает около 5 секунд) и показывает непосредственно окончательную карточку «userList».
Что мне не хватает?