привет, у меня есть 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».
Чего мне не хватает?