Comment appeler la méthode actionPerformed à partir d'une autre classe en Java

vkosyj

Comment appeler

actionPerformed (ActionEvent e)

d'une autre méthode, c'est-à-dire

returnHolder ()

dans mon cas, pour que l'arraylist puisse avoir toutes les données afin que je puisse utiliser le servlet pour écrire les données sur l'hôte local. Pour l'instant, dans mon

faire

méthode,

System.out.println ("la taille de la liste est" + list.size ());

me donne zéro. J'espère que quelqu'un pourra m'aider. Merci beaucoup.

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
public class Dummy extends JFrame{  
    public static ArrayList<String> list = new ArrayList<String>();
    public static ArrayList<String> holder = new ArrayList<String>();
    public static JButton play;
    public Dummy() {
        Container content = getContentPane();
        play = new JButton("fuck");
        play.setEnabled(true);
        PlayListener playListener = new PlayListener();
        play.addActionListener(playListener);
        content.add(play, BorderLayout.SOUTH);  
    }

    class PlayListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            list.add("what");
            list.add("the");
            list.add("hell");
            for(int i = 0; i < list.size(); i++){
                holder.add(list.get(i));
            }       
        }
    }

    public static ArrayList<String> returnHolder() {
        //play.doClick();
        return holder;
    }

    public static void main(String args[]) {
        JFrame frame = new Dummy();
        frame.pack();
        frame.show();
    }
}




import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.tutorials.Dummy;

public class ListJson extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    ArrayList<String> list = Dummy.returnHolder();
    System.out.println("size of the list is " + list.size());
    resp.setContentType("application/json");
    PrintWriter writer = resp.getWriter();


    for(int i = 0; i < list.size(); i++) {
        writer.println(list.get(i));
    }
    writer.flush();
    writer.close();
}

}

Fedor Losev

Après avoir lu votre autre question, ce que vous voulez faire est plus clair.

Servlet et votre programme principal vivent dans des JVM différents et ne peuvent pas parler directement.

Pour communiquer entre eux, vous avez besoin d'une sorte de communication à distance. Dans ce cas, la méthode la plus simple consiste à utiliser http car vous exécutez déjà le serveur http.

Par exemple, vous pouvez ajouter la méthode doPost à votre servlet et à partir de votre programme principal, y publier des données json. Il y a suffisamment de tutoriels sur l'envoi de http à partir du client, par exemple, regardez ici

Notez que vous ne pouvez pas simplement conserver les données sous forme de champ non statique dans une instance de servlet, car il n'est pas garanti que doGet sera appelé sur la même instance que doPost.

Pour un système réel, vous conserveriez les données dans un stockage de données, probablement abstraites par un cadre ou une couche de persistance. Je suppose que ce n'est pas encore le cas pour vous. À des fins d'étude / de didacticiel, vous pouvez conserver les données dans un membre statique, afin que doGet et doPost accèdent à la même instance de données. Vous devez également garder la récupération / mise à jour, par exemple avec synchronized, car doGet et doPost peuvent provenir de threads différents.

Vous pouvez consulter cette question pour la mise à jour du servlet à partir d'un exemple de client autonome.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment utiliser ArrayList pour appeler une méthode à partir d'une autre classe en Java?

Comment appeler la méthode ActionPerformed à partir d'une classe différente

Comment appeler la méthode toString() d'une classe à une autre classe sans méthode principale en Java

Comment appeler la méthode d'une autre classe à partir de la classe differnet dans Xamarin

Comment appeler la méthode de classe Activity à partir d'une autre classe?

Comment appeler la méthode d'une classe parent à partir d'une classe enfant en Python?

Comment implémenter la méthode start (Stage) à partir d'une autre classe en Java?

OOP javascript, à partir d'une 'instruction' AJAX dans une méthode, comment appeler une autre méthode de la classe?

Comment appeler la méthode de classe parent à partir d'une autre méthode de classe parent

Comment appeler une méthode de classe à partir d'une autre méthode de classe

Comment appeler la méthode d'une autre classe?

Comment appeler la méthode d'une autre classe

Comment appeler la méthode d'une autre classe ?

En Java, comment appeler la méthode d'une classe de base à partir de la méthode prioritaire dans une classe dérivée?

Comment appeler une méthode avec des paramètres d'une autre classe en Java?

Comment appeler la méthode @canExecute à partir d'une classe

Comment appeler correctement une méthode de classe à partir d'une autre méthode

Comment appeler une méthode dans une autre classe à partir d'une classe statique

Impossible d'appeler la méthode depuis une autre méthode de la même classe en JAVA

Ne peut pas appeler la méthode d'une autre classe en Java

En python, comment appeler le constructeur correct à partir de la méthode d'une classe mixin?

Comment exécuter une méthode à partir d'une classe d'un autre package en java

Appeler une méthode statique à partir d'une autre classe sans créer d'objet en Java

Comment appeler la méthode initstate () d'une autre classe à partir du bouton d'action flottant parent?

Comment appeler une méthode à partir d'une autre méthode en javascript?

Comment appeler une méthode dans une classe ES6 à partir d'une autre?

Dans Typescript, comment appeler une méthode de classe à partir d'une autre méthode de la même classe appelée en tant que gestionnaire d'événements

Comment appeler une méthode d'une classe à une autre

Appeler une méthode statique à partir d'une autre classe en python

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive