3 votes

Est-ce que je peux créer un thread sans une fonction en Java?

Je dois avoir une fonction parallèle qui s'exécute en permanence dans mon programme. Je ne sais pas si je pense correctement, mais ce que je veux faire, c'est avoir un morceau de code mettant à jour mon TextArea tout le temps, en récupérant des informations d'un serveur.

Je suis en train d'utiliser RMI, juste pour que vous le sachiez.

Puis-je créer une fonction de thread, au sein de la MainClass, et la laisser s'exécuter en permanence?

Ou comment puis-je créer un thread pour mettre à jour mon TextArea dans une autre classe? Comment partager mon TextArea?

3voto

Edwin Dalorzo Points 19899

Je ne suis pas sûr de bien comprendre, je vais supposer que TextArea signifie un JTextArea et que MainClass est le point d'entrée de l'application.

Qu'est-ce qui vous empêche de le faire de cette manière?

public class Updater implements Runnable {
    private JTextArea textArea;

    public Updater(JTextArea textArea){
        this.textArea = textArea;
    }

    @Override
    public void run(){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                            //faire ce que vous devez faire....
                textArea.setText("Nouveau texte");
            }
        });
    }

}

Et dans votre "MainClass" quelque chose comme ça:

public static void main(String[] args) {

    Thread myThread = new Thread(new Updater(myTextArea));
    myThread.start();

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X