Witam
Strasznie się głowię i nie umie wpaść dlaczego to co powinno działać nie działa.
Proszę zerknąć na kod źródłowy:
public class MojPanel extends JPanel
{
private JButton przycisk;
private JLabel etykieta;
public MojPanel()
{
setLayout(new BorderLayout());
przycisk = new JButton("Wyślij");
add(przycisk, BorderLayout.NORTH);
etykieta = new JLabel("Kliknij Przycisk");
add(etykieta, BorderLayout.SOUTH);
przycisk.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
new Thread(new ModyfikujEtykiete()).start();
FTPClient f = new FTPClient();
try
{
f.connect(host);
f.login(login, haslo);
f.setFileType(2);
FileInputStream local = new FileInputStream("/home/axlinux/plik.jpg");
f.storeFile("plik.jpg", local);
System.out.println(f.isConnected());
f.disconnect();
} catch (Exception ex) {System.out.println("Coś się skopciło"); }
etykieta.setText("Wysyłanie zakończone");
}
});
}
class ModyfikujEtykiete implements Runnable
{
public void run()
{
EventQueue.invokeLater(new Runnable() {
public void run() {
etykieta.setText("Trwa łączenie i wysyłanie pliku.");
}
});
}
}
}
Chciałbym aby po przyciśnięciu przycisku na JLabel - etykieta wyświetliło się: "Trwa łączenie i wysyłanie pliku."
Jednak tak się nie dzieje, dopiero gdy wszystko się wykona w actionPerformed labelka zawiera to co powinna mieć zanim zacznie łączenie z serwerem. Podczas wysyłania zawiera parametr z konstuktora.
:(
Nie wiem co jest grane i dlaczego to nie działa, chociaż z opisu jaki znalazłem powinno zadziałać.
Dzięki za pomoc ;]