Lors de l'appel de println etc. à partir d'un fichier de classe Java externe en traitement

introduction

Aperçu

Si vous l'avez développé confortablement en le classant correctement avec Processing, des fonctions standard telles que println () à partir d'un fichier de classe Java externe (à proprement parler, la méthode définie sous processing.core.PApplet) Ne peut pas être utilisé! J'ai pensé, alors j'ai regardé un peu.

environnement

C'est mon environnement maintenant. Je pense qu'il n'y a fondamentalement aucun problème dans d'autres environnements.

À propos du traitement

Le traitement est un langage / environnement dans lequel vous pouvez facilement coder et apprendre les arts visuels. Il est en cours de développement depuis 2001 et a contribué à améliorer la maîtrise des logiciels en arts visuels et la maîtrise des arts en technologie. De nombreux étudiants, artistes, designers, chercheurs et amateurs apprennent maintenant et prototypent avec Processing. (Traduisez correctement l'explication de Site officiel)

En d'autres termes, c'est un environnement très amusant et merveilleux où vous pouvez faire de l'art et du prototypage rapidement.

Conclusion

Actuellement, pour autant que je sache, j'importe processing.core.PApplet dans le fichier de classe Java externe où je veux utiliser la fonction, et j'ai une instance de PApplet (une instance de la classe de base / classe de point d'entrée) dans la classe. , Je pense que c'est une bonne idée d'appeler la fonction à partir de cette instance. En d'autres termes, si vous créez un projet avec Test.pde et créez un fichier de classe appelé Human.java dans le même répertoire,

Test.pde


void setup() {
  Human Oka = new Human();
}

void draw() { }

Human.java


public class Human {
  public Human() {
    println("ware umaretari"); //Cela me met en colère si println n'est pas défini
  }
}

,

Test.pde


void setup() {
  Human Oka = new Human(this);
}

void draw() { }

Human.java


import processing.core.PApplet;

public class Human {
  PApplet parent;
  
  public Human(PApplet p) {
    this.parent = p;
    this.parent.println("ware umaretari");
  }
}

C'est bon!

Résumé

Je continuerai à faire de mon mieux pour pouvoir l'utiliser de manière fondamentale (?). J'apprécierais que vous me disiez s'il existe un moyen plus intelligent. Au fait, je savais que je pouvais appeler une méthode à partir de la classe de base (classe de test dans cet exemple), mais pourrait-il y avoir un moyen plus général? J'ai remarqué que j'étais censé passer mon instance dans le constructeur de ControlP5.

Les références

PApplet Javadocs Control P5 git repository

Recommended Posts

Lors de l'appel de println etc. à partir d'un fichier de classe Java externe en traitement
Le chemin du fichier n'est pas reconnu lors de l'exécution d'une commande externe à partir d'une application Java
A propos du traitement de la copie de fichiers en Java
Exécuter un processus externe en Java
Erreur de non-recherche du symbole lors de la nouvelle classe dans un autre fichier Java
GetInstance () à partir d'une classe @Singleton dans Groovy à partir de Java
Appel de méthode Java depuis RPG (appel de méthode dans sa propre classe)
Comment obtenir une classe depuis Element en Java
La cause n'est pas visible lors de l'appel de méthodes d'autres classes en java
Essayez d'appeler des méthodes synchronisées à partir de plusieurs threads en Java
Comportement lors de l'appel des méthodes d'argument de longueur variable Java à partir de Scala / Kotlin / Java
Appeler un programme écrit en Swift depuis Processing (Java)
Implémentez l'interface Java dans la classe JRuby et appelez-la depuis Java
Obtenez facilement des entiers à partir des propriétés système en Java
Générer un flux à partir d'un tableau de types primitifs en Java
Obtenir une collection non vide à partir d'un flux facultatif avec java
Traitement parallèle mesuré avec Java
Exécution de processus externe en Java
[java] Ce que j'ai fait en comparant des listes dans ma propre classe
Les fichiers texte placés dans des ressources en Java ne peuvent pas être lus lorsqu'ils sont mis en jarr
Comment obtenir la longueur d'un fichier audio avec Java