OpenLLM-France/wikimedia huggingface dataset:
# Programmation GTK2 en Pascal/GtkMenuItem

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Le contrôle GtkMenuItem est l'élément, l'item de base qu'on retrouve dans un menu, mais également dans la barre de menu.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkContainer
* └─GtkBin
* └─GtkItem
* └─GtkMenuItem
* ├─GtkImageMenuItem
* ├─GtkCheckMenuItem ─ GtkRadioMenuItem
* ├─GtkSeparatorMenuItem
* └─GtkTearoffMenuItem

## Utilisation de base
### Création

Pour créer un GtkMenuItem, il existe trois fonctions différentes :
La première fonction crée un item vide, la deuxième un item avec un label à l'intérieur et la troisième un item avec un label qui accepte les raccourcis clavier (le caractère est précédé par un « _ », exemple : _Fichier).
Après avoir créé un item de menu vide avec la première fonction, on pourra ajouter un contrôle quelconque avec la fonction gtk_container_add.

### Ajout dans un menu

Le contrôle GtkMenuItem ne possède pas de fonction qui permette d'ajouter un GtkMenuItem dans un GtkMenu (ou une GtkMenuBar). Il faut pour cela utiliser la fonction gtk_menu_shell_append du contrôle GtkMenuShell.

### Attacher un menu

Pour attacher un GtkMenu à un GtkMenuItem, il faut utiliser cette fonction :
Le premier paramètre menu_item correspond à l'item qui va recevoir le menu submenu. Une fois cette fonction utilisée, un clic de souris sur le GtkMenuItem menu_item ouvrira le GtkMenu submenu.

### Intercepter un clic de souris

Afin d'agir en fonction des actions de l'utilisateur, il faut intercepter le signal activate qui correspond à un clic de souris.

## Programme exemple

Voir l'exemple écrit pour le contrôle GtkMenu qui met en œuvre des GtkMenuItem dans la barre de menu et dans un menu et dont certains ont un sous-menu rattaché.
* Menu :
* GtkMenuBar ~
* GtkMenu ~
* GtkMenuShell —
* GtkMenuItem ~
* GtkImageMenuItem ~
* GtkCheckMenuItem ~
* GtkRadioMenuItem ~
* GtkSeparatorMenuItem ~
* GtkTearoffMenuItem
# Programmation GTK2 en Pascal/GtkMessageDialog

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Pour simplifier l'affichage de message à l'aide d'une boîte de dialogue, Gtk+ offre un nouveau contrôle qui dérive directement de GtkDialog : le contrôle GtkMessageDialog. Ce contrôle permet de créer une boîte de dialogue complète avec une seule fonction.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkContainer
* └─GtkBin
* └─GtkWindow
* └─GtkDialog
* └─GtkMessageDialog

## Utilisation de bases
### Création

L'unique fonction de ce contrôle est celle permettant de créer la boîte de dialogue :
Les paramètres parent et flags sont identiques à ceux du contrôle GtkDialog, nous ne reviendrons donc pas dessus et allons nous concentrer sur les nouveaux paramètres.
Le tout premier _type, permet de définir le texte qui sera affiché dans la barre de titre de la boîte de dialogue ainsi que l'icône correspondant. Ce paramètre est de type GtkMessageType et peut prendre une des quatre valeurs suivantes :
* GTK_MESSAGE_INFO : titre de la boîte « Information » ;
* GTK_MESSAGE_WARNING : titre de la boîte « Avertissement » ;
* GTK_MESSAGE_QUESTION : titre de la boîte « Question » ;
* GTK_MESSAGE_ERROR : titre de la boîte « Erreur ».
Le deuxième nouveau paramètre buttons, de type GtkButtonsType, permet de définir les boutons qui seront présents en bas de la boîte de dialogue. Les valeurs autorisées sont les suivantes :
* GTK_BUTTONS_NONE
* GTK_BUTTONS_OK
* GTK_BUTTONS_CLOSE
* GTK_BUTTONS_CANCEL
* GTK_BUTTONS_YES_NO
* GTK_BUTTONS_OK_CANCEL
Et le dernier paramètre message_format est tout simplement le texte qui sera affiché à l'intérieur de la boîte de dialogue. Ce texte peut être formaté comme il est possible de le faire avec la fonction Format.

## Programme exemple

Nous allons créer une fenêtre comportant deux boutons. Le premier permettra d'afficher les informations habituelles d'une boîte de dialogue « À propos... ». Le deuxième offrira la possibilité de quitter le programme, en passant par une demande de confirmation à l'utilisateur.
Voici le fichier gtk004.pas :
Voila ce que donne l'exécution du programme gtk004 :
La fenêtre principale s'affiche et on clique sur le bouton « À propos... »
On clique sur « Valider » puis de retour dans la fenêtre principale on clique sur « Quitter »
# Programmation GTK2 en Pascal/GtkSeparatorToolItem

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Le contrôle GtkSeparatorToolItem permet de gérer un séparateur d'éléments dans une barre d'outils.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkContainer
* └─GtkBin
* └─GtkToolItem
* └─GtkSeparatorToolItem

## Utilisation de base
### Création

Pour créer un séparateur, Gtk+ nous donne une fonction simple :
NB : Contrairement aux fonctions usuelles de Gtk+ de création de contrôles, ces fonctions ne renvoient pas un PGtkWidget mais un PGtkToolItem.
NB 2 : La fonction n'est pas encore définie dans les entêtes Pascal de Gtk+ de la version 1.9.8 de Free Pascal, il faut donc la définir nous-même. Cf le programme d'exemple ci-dessous.

## Programme exemple

Nous allons créer dans une fenêtre une barre d'outils avec deux boutons encadrant un séparateur.
Voilà le fichier gtk047.pas :
Voilà ce que donne l'exécution du programme gtk047 :
* Barre d'outils :
* GtkToolbar ~
* GtkToolItem ~
* GtkToolButton ~
* GtkMenuToolButton ~
* GtkToggleToolButton ~
* GtkRadioToolButton ~
* GtkSeparatorToolItem
# Programmation GTK2 en Pascal/GtkSeparatorMenuItem

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Le contrôle GtkSeparatorMenuItem permet de tracer une ligne qui va séparer les différents éléments d'un menu.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkContainer
* └─GtkBin
* └─GtkItem
* └─GtkMenuItem
* ├─GtkImageMenuItem
* ├─GtkCheckMenuItem ─ GtkRadioMenuItem
* ├─GtkSeparatorMenuItem
* └─GtkTearoffMenuItem

## Utilisation de base
### Création

Il n'y a qu'une seule fonction pour ce contrôle, c'est sa fonction de création :

### Ajout

Pour ajouter ce contrôle dans un menu, il faut procéder comme avec tous les autres items, c'est-à-dire utiliser la fonction gtk_menu_shell_append.

## Programme exemple

Nous allons créer un menu dans celui du style de l'exemple gtk034.pas contenant un GtkSeparatorMenuItem.
Voilà le fichier gtk037.pas :
Voilà ce que donne l'exécution du programme gtk037.pas après avoir cliqué sur le menu « Fichier » :
* Menu :
* GtkMenuBar ~
* GtkMenu ~
* GtkMenuShell —
* GtkMenuItem ~
* GtkImageMenuItem ~
* GtkCheckMenuItem ~
* GtkRadioMenuItem ~
* GtkSeparatorMenuItem ~
* GtkTearoffMenuItem
# Système politique du Royaume-Uni/Glossaire/Y

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
Glossaire - Y
* Système politique du Royaume-Uni
* Sommaire
* Glossaire
* A -
* B -
* C -
* D -
* E -
* F -
* G -
* H -
* I -
* J -
* K -
* L -
* M -
* N -
* O -
* P -
* Q -
* R -
* S -
* T -
* U -
* V -
* W -
* X -
* Y -
* Z
# Système politique du Royaume-Uni/Glossaire/Z

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
Glossaire - Z
* Système politique du Royaume-Uni
* Sommaire
* Glossaire
* A -
* B -
* C -
* D -
* E -
* F -
* G -
* H -
* I -
* J -
* K -
* L -
* M -
* N -
* O -
* P -
* Q -
* R -
* S -
* T -
* U -
* V -
* W -
* X -
* Y -
* Z
# Système politique du Royaume-Uni/Les Normands

Les Normands (1066-1154)

## Guillaume Ier (1027 - 1066- 1087)

Le cours de l'histoire politique, juridique et culturelle de l'Angleterre changea en 1066, lorsque Guillaume, duc de Normandie (aussi appelé Guillaume le Conquérant), envahit avec succès le pays et déposa le roi saxon Harold II.
En 1066, le roi Edward III, aussi appelé Saint Edward le Confesseur, mourut sans enfant. Son petit-cousin, le duc de Normandie, prétendit que le roi l'avait nommé son héritier (probablement en 1052) et que l'autre prétendant au trône, Harold Godwinson, beau-frère d'Edward III, avait juré, lors de son naufrage en Normandie, de soutenir Guillaume. La véracité de cette histoire est cependant douteuse, et Harold prit la couronne à la mort du roi Edward. Guillaume envahit alors l'Angleterre en septembre, et défit Harold à la célèbre bataille de Hastings d'octobre 1066.

## Guillaume II (1056/1060 - 1087 - 1100)

En 1087, le roi Guillaume Ier mourut et divisa ses terres et ses richesses entre ses trois fils. L'aîné, Robert Courteheuse, devint duc de Normandie (sous le nom de Robert II) ; le cadet, Guillaume, devint roi d'Angleterre (sous le nom de Guillaume II) et le benjamin, Henri, reçut 5 000 livres d'argent. Guillaume II mourut en 1100 sans enfant : son frère Henri prit vite le pouvoir, avant d'envahir la Normandie (bataille de Tinchebray), d'emprisonner son frère et de récupérer le duché de Normandie.

## Henri Ier (1068 - 1100 - 1135), Étienne (1096 - 1135 - 1154) et Mathilde (1102 - 1167)

Henri, dont les fils l'avaient précédé dans la mort, prit une mesure sans précédent : nommer une femme comme son héritière. Il déclara que sa fille Mathilde serait la prochaine reine. Cependant, la prétention au trône de Mathilde fut contestée par Étienne de Blois, un petit-fils de Guillaume Ier par sa mère. Après la mort de Henri Ier en 1135, Étienne usurpa le trône, mais il fut défait et emprisonné par Mathilde en 1141. Plus tard, ce fut au tour de Mathilde d'être vaincue et Étienne repris le trône.
Mathilde abandonna la lutte en 1148 et retourna en France. Néanmoins, son fils, Henri Plantagenêt, mena une campagne militaire contre Étienne. Ce dernier fut forcé de reconnaître Henri comme son héritier. À la mort d'Étienne en 1154, Henri monta au trône, inaugurant la dynastie Plantagenêt.
Système politique du Royaume-Uni Sommaire :
| Histoire politique | Les Normands - Les Plantagenêt - Les maisons de Lancastre et d'York - La maison Tudor - La maison de Stuart et le Commonwealth - La maison de Hanovre - Les maisons de Saxe-Cobourg-Gotha et de Windsor |
| Système actuel | La constitution - Le monarque - Le parlement - Le gouvernement - Le système judiciaire - Les entités décentralisées - Les élections |
| Annexes | Liste des monarques britanniques - Liste des principaux textes législatifs - Liste des nations citées - Bibliographie - Glossaire |
# Système politique du Royaume-Uni/Glossaire/X

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
Glossaire - X
* Système politique du Royaume-Uni
* Sommaire
* Glossaire
* A -
* B -
* C -
* D -
* E -
* F -
* G -
* H -
* I -
* J -
* K -
* L -
* M -
* N -
* O -
* P -
* Q -
* R -
* S -
* T -
* U -
* V -
* W -
* X -
* Y -
* Z
# Système politique du Royaume-Uni/Les élections

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle engendrant ce cadre)
Les élections

## Élections générales

Les membres de la Chambre des Communes (House of Commons) sont élus lors des élections générales. La date de celles-ci est fixée par le Premier ministre. Les élections générales sont tenues au moins une fois tous les cinq ans (période déterminée par le Parliament Act).

## Élections locales

L'Angleterre et le Pays de Galles utilisent le scrutin majoritaire (uninominal ou plurinominal) pour leurs élections locales. L'Irlande du Nord et, depuis 2007, l'Écosse, utilisent, elles, le scrutin à vote unique transférable.

## Élections européennes

L'Angleterre, l'Écosse et le Pays de Galles élisent leurs députés européens par la méthode D'Hondt. L'Irlande du Nord utilise quant à elle le scrutin à vote unique transférable.

## Électeurs

Aux élections générales, locales et européennes tout résident légal au Royaume-Uni, ressortissant britannique, d'un pays du Commonwealth (la plupart des anciennes colonies britanniques) ou d'Irlande, est électeur et éligible. Aux élections locales et européennes, tout résident légal au Royaume-Uni, ressortissant d'un État membre de l'Union européenne, est également électeur et éligible.
Système politique du Royaume-Uni Sommaire :
| Histoire politique | Les Normands - Les Plantagenêt - Les maisons de Lancastre et d'York - La maison Tudor - La maison de Stuart et le Commonwealth - La maison de Hanovre - Les maisons de Saxe-Cobourg-Gotha et de Windsor |
| Système actuel | La constitution - Le monarque - Le parlement - Le gouvernement - Le système judiciaire - Les entités décentralisées - Les élections |
| Annexes | Liste des monarques britanniques - Liste des principaux textes législatifs - Liste des nations citées - Bibliographie - Glossaire |
# Programmation Java/Installation

* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
[ Modifier le sommaire ]

## Installation de Java

Pour compiler les programmes Java, il existe un compilateur gratuit très répandu nommé Javac, disponible auprès d'Oracle. Cependant, il faut savoir qu'il existe aussi de nombreux environnements de développement Java permettant de taper, compiler, exécuter ou débuguer des programmes dans ce langage.
Le plus rapide :
* Pour Windows, télécharger le JDK sur https://www.java.com/fr/ ;
* Pour Linux, télécharger OpenJDK selon http://openjdk.java.net/install/.
Par ailleurs, il est possible de tester des morceaux de code sans installation sur des sites comme https://www.jdoodle.com/online-java-compiler/.
# Programmation Java/Générer un carré magique

* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
[ Modifier le sommaire ]
Ce programme permet de générer des carrés magiques d'ordre impair.
# Programmation Java/Générer un triangle de Sierpiński

* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
* Introduction
* La notion de machine virtuelle
* Installation
** NetBeans
** Eclipse
** Visual Studio Code
* Bases du langage
** Premier programme
** Commentaires
** Types de base
** Opérateurs
** Conditions
** Bloc de portée
** Itérations
** Tableaux
* Les classes en Java
** Membres
** Modificateurs d'accès
** Héritage
** Encapsulation
** Polymorphisme
** Classes abstraites
** Interfaces
** Classes internes
** Transtypage
** Types génériques
** Instanciation et cycle de vie
** « this »
** Objets comparables et clés
** Énumérations
** Exceptions
** Packages
* Classes de base
** Collections
** Nombre de taille arbitraire
** Tags Javadoc
** Annotations
** Entrées sorties
** Threads et synchronisation
** Méthodes natives
** Réflexion
** Regex
** JUnit
* Conclusion
* Exemples en Java
** Générer un carré magique
** Générer un triangle de Sierpiński
** XML
** Swing
*** Un premier exemple
*** Formulaire avec boutons sur image
*** Calcul de somme
*** Calcul de distance
* Annexes
** Les outils de base fournis avec le Java Development Kit
** Créer une archive Java
** Paramétrer la JVM
** Liste des mots réservés
** Débogage
** Java et les autres langages
[ Modifier le sommaire ]
Le programme ci-dessous dessine un triangle de Sierpiński dans une fenêtre en utilisant la bibliothèque Swing pour l'interface utilisateur.
La méthode récursive private void drawSierpinskiTriangle(Graphics g, int x, int y, int d) accepte des coordonnées de trois points (coins du triangle principal) plus ou moins arbitraires.
Pour compiler (vous devez disposez du JDK Java) : javac SierpinskiTriangle.java
Source de SierpinskiTriangle.java :