Démarrer avec Java est beaucoup plus simple que je ne le pensais. Jusqu'à présent, j'ai déjà une compréhension de la structure syntaxique de base de Java. Mais je sais qu'une étude approfondie de n'importe quel langage nécessite une accumulation de temps et de pratique.
L'applet est un code écrit en Java qui peut être exécuté côté navigateur. La différence évidente entre celui-ci et une application réside dans sa méthode d'exécution. Par exemple, le programme C démarre à partir du programme main(), tandis que l'applet est plus compliquée. Je ne sais pas exactement à quel point c'est compliqué, mais je vais le comprendre progressivement. Une propriété importante d'Applet est que je peux transmettre des valeurs HTML en tant que paramètres à Applet (obtenir la valeur du paramètre via getParameter()). De cette façon, afin de produire différents effets, nous n'avons pas besoin de recompiler le programme Java. , mais modifiez simplement les valeurs des paramètres HTML. Étant donné que le code HTML peut également être généré dynamiquement, je peux contrôler les effets dynamiques de la page Web à ma guise.
Il existe trois méthodes principales dans le cycle de vie de l'applet : init, start et stop.
init() : Responsable de l'initialisation de l'applet. Cette méthode n'est exécutée qu'une seule fois pendant tout le cycle de vie de l'applet. C'est la même chose que l'événement OnCreate() dans Delphi
start() : après que le système ait appelé init(), elle appellera automatiquement start(), et chaque fois que la fenêtre actuelle est réactivée, cette méthode sera appelée, ce qui est similaire à l'événement OnShow() dans Delphi.
stop() : Cette méthode est appelée une fois que l'utilisateur quitte la page où se trouve l'applet. Cela vous permet d'arrêter le travail de certaines ressources lorsque l'utilisateur ne fait pas attention à l'applet afin de ne pas affecter l'efficacité de fonctionnement du système. Et nous n'avons pas besoin de supprimer artificiellement cette méthode. Cette méthode est similaire à OnClose(). événement à Delphes.
Voici le nom de fichier d'une version Applet de HelloWorld
: HelloWorld.java
import java.applet.Applet;
importer java.awt.Graphics ;
la classe publique HelloWorld étend l'applet
{
Titre de la chaîne ;
public void init(){
title="Bonjour tout le monde" ;
}
peinture du vide public (graphiques g)
{
g.drawString(titre, 50, 20);
}
}
Nous pouvons voir qu'il n'y a pas de fonction principale dans le programme, alors comment fonctionne-t-il ? Puisque l'applet s'exécute dans l'environnement du navigateur, nous devons l'appeler dans le fichier HTML. Les balises pertinentes qui doivent être utilisées sont <. Applet>, on crée d'abord le fichier HTML test.htm, le code source est le suivant :
<html>
<corps>
Voici ma première applet :
<br>
<code de l'applet=HelloWorld.class width=650 height=500>
</applet>
</APPLET>
</corps>
</html>
Mettez ce fichier dans le même répertoire que HelloWorld.java, puis compilez HelloWorld.java, cliquez sur test.htm pour l'ouvrir directement, et vous pourrez voir que le programme Applet est démarré. Ou utilisez la commande AppletViewer AppletViewer test. htm Vous pouvez également exécuter l'applet directement sans navigateur.
Le programme suivant peut mieux nous aider à comprendre comment Java Applet appelle les méthodes que nous avons présentées ci-dessus tout au long de son cycle de vie.
Nom du fichier : StartStop.java
import java.awt.* ;
importer java.applet.* ;
la classe publique StartStop étend l'applet
{
Message StringBuffer ;
initialisation vide publique()
{
message=new StringBuffer("Init terminé...");
}
début public vide()
{
message.append("Démarré...");
}
arrêt public vide()
{
message.append("Arrêté...");
}
peinture du vide public (Graphiques g)
{
g.drawString(message.toString(), 150, 50);
}
}
La méthode de fonctionnement est la même que ci-dessus. (Pour ce programme, veuillez vous référer au <Tutoriel Java Concise> de l'industrie des machines)
Contrairement au langage C, il est beaucoup plus facile d'implémenter une interface graphique en utilisant Java. Puisqu'il s'agit d'un langage purement orienté objet, AWT de Java fournit divers éléments d'interface que nous pouvons appeler, tout comme les composants de Delphi. Ce qui suit est un tableau de comparaison des objets GUI en Java et des composants correspondants dans Delphi.
Java Delphes
Bouton TBouton
Toile
Case à cocher TCheckbox
CheckboxGroup TRadioGroup
Choix TComboBox
Étiquette TLabel
Champ de texte TModifier
TextArea TMemo
Cependant, JDK n'est pas un outil de développement visuel RAD (développement rapide d'applications). L'utilisation d'objets ne peut pas se faire uniquement par glisser-déplacer comme Delphi, mais nous oblige à écrire du code appelant. faire les éléments placés dans l'interface selon mes besoins ? Lorsqu'il n'y a pas beaucoup d'éléments, je peux laisser Java se mettre en page automatiquement (Mise en page). Mais lorsqu'il y a beaucoup d'éléments, ou lorsque les éléments doivent être placés selon les exigences de l'interface. application, vous devez utiliser un panneau (Panel). Le panneau a également des composants correspondants (TPanel) dans Delphi, mais il est principalement utilisé pour segmenter l'interface et faire une mise en page approximative. Le positionnement précis nécessite un ajustement manuel par le développeur. Java, il ne peut être utilisé que par Panel pour le positionner, ce qui est un défaut. Peut-être que je ne l'ai pas encore appris.
Après avoir commencé, il est temps de plonger dans le concept d’objet.
Supposons qu'un type de données personnalisé appelé Date soit créé en Java comme suit
Date de classe publique{
jour entier ;
mois entier ;
année entière ;
}
Ainsi, pour les trois instructions suivantes qui déclarent des variables, y a-t-il une différence lorsque Java leur alloue de la mémoire ?
(1) int je;
(2) Date de ma naissance ;
(3) Date mybirth=new Date();
Évidemment, il y en a, et l'allocation est la suivante :
(1) Java alloue automatiquement la mémoire d'une variable entière pour l'entier i, généralement deux octets
(2) Java déclare une classe Date La variable d'instance mybirth est dotée d'un espace de stockage, mais ce qui est stocké dans cet espace de stockage n'est qu'une référence, ou une adresse. Il n'y a rien dans l'adresse actuelle, nous ne pouvons donc pas utiliser cette variable d'instance ni la référencer.
(3) Java crée une variable d'instance mybirth de la classe Date, alloue suffisamment d'espace de stockage pour ses variables membres et renvoie enfin une référence à cet espace de stockage, c'est-à-dire renvoie la première adresse de cet espace de stockage, puis transmet mybirth , c'est-à-dire que cette première adresse est utilisée pour accéder à chaque membre de cette variable d'instance, telle que mybirth.day, mybirth.month, mybirth.year.
Lorsque nous déclarons une variable d'un type de données de base (tel que booléen, byte, short, char, int, long, flat, double), le système alloue automatiquement de la mémoire à la variable. Mais si une chaîne ou des variables définies par l'utilisateur sont déclarées, le système ne leur allouera pas de mémoire immédiatement. Pourquoi est-ce
parce que la chaîne et les variables définies par l'utilisateur appartiennent à la catégorie des classes A déclarées en tant que classe. ce n'est plus une donnée, mais une référence aux données, c'est-à-dire que mybirth peut être considéré comme un pointeur vers une instance de la classe, et l'adresse y est stockée.
Pour aller plus loin, puisque la valeur de la variable d'instance d'une classe est un pointeur et que ce pointeur pointe vers une instance d'une classe, nous pouvons évidemment définir des variables d'instance de plusieurs classes avec des noms différents et les pointer toutes vers une seule instance. Par exemple :
University u=new University();//Une variable d'instance u de la classe University est définie, et l'espace de stockage de l'objet lui est alloué
University u2=u;//Une variable d'instance u2 est également définie. , et la valeur de u lui est attribuée. Étant donné u2
, alors évidemment u2 et u sont en fait la même chose,
à l'exception de leurs noms différents, car ils pointent vers la même adresse.
Ces structures de données sont ce qu'un programmeur doit connaître.