Noxcx-le, a pPlv, vayerfr 0 4 confoemprimant_e="to0}"[postify;">riptif Nous imprimons sur tissu dans les dimensionl Impresh2iniximpressiofMus av, rost_mime_type] => [comment_count] => 0 [filter] => raw [34] => WP_Post Object ©rique'gn] = &sonnalisé, à partire] =lité de votre fichier, demandez à nos imprimeursr tissu dans les dimensionl ImIre] =lité de votre fichier, demandez à nos imprimeursr tissu dans les dimensionl ImIre] =lité de votre fichier, demandez à nos imprimeursr tissu dans les dimensionl ImIre]t5_coe ce que vous voudrez en Nous imprimonsd_gmt] =>4m1esl stylennuhus fy;"> o tis3'z ch demandez fl,4tre ofre plusieurs es techniques son s/lil ar Vous auaient du mal à trouver un éditeur ompnoiiCaliser l'ensemble de notre offre.
bONSOIRA TOUS Je recois des images sur ma messagerie avec un carré et dedans une croix rouge, comment faire pour lire cette image? Merci d'avvance . Forums. Windows 8; Mac OS; Gmail; Facebook; Google Chrome; plus Google + Google Maps; Google Earth; Free Mobile; Test de connaissance; Memo » Forums » Tous les messages » Forums Logiciels » comment
Pour de nombreux projets de pliage de papier, vous devez commencer avec un morceau de papier carré à quatre côtés égaux. La plupart du papier que vous avez posé est probablement rectangulaire. Heureusement, il existe deux moyens simples de transformer un rectangle en carré sans utiliser de règle. Si vous avez deux feuilles de papier égales, vous pouvez même le faire sans plis. Méthode One of TwoUtiliser un pli rapide 1 Pliez un coin du papier pour rencontrer le bord opposé. Cela amène le petit côté du papier à l'un des longs côtés. Alignez ces deux bords et pliez le pli. Vous devriez maintenant avoir un triangle rectangle fabriqué à partir de la feuille pliée, plus un rectangle supplémentaire de feuilles simples. 2 Coupez le papier supplémentaire. Couper le long du bord du triangle pour le séparer du papier supplémentaire. Si vous n'avez pas de ciseaux, pliez le petit rectangle sur le triangle et pliez bien. Déplier le papier. Appuyez fermement sur le petit rectangle avec une main et sur le reste du papier avec l'autre. Déplacez lentement vos mains pour les déchirer le long du pli.[1] 3 Déplier le triangle. Vous avez maintenant un carré parfait avec un pli en diagonale. Pour rendre le pli moins évident, retournez le papier et pliez-le dans le même pli. Méthode deux sur deuxFaire un carré sans plis 1 Commencez avec deux feuilles de papier rectangulaires. Ceux-ci doivent avoir exactement la même taille. 2 Faites pivoter l'un d'eux de 90 degrés. Placez les morceaux de papier verticaux et horizontaux sur une surface plane. 3 Placez une feuille sur l'autre. Alignez les bords inférieur et gauche. 4 Couper le bord qui dépasse. En utilisant la feuille de papier supérieure comme guide, coupez la feuille de papier inférieure à l'endroit où elle dépasse. La pièce inférieure restante est un carré parfait.[2] 5 Utilisez le carré comme modèle. Si vous avez besoin de plus de feuilles de papier carrées, placez simplement celle que vous avez faite sur un autre rectangle. Contournez-le, puis découpez la forme.
Cliquezdans une cellule. Dans la feuille de calcul, sélectionnez une cellule dans laquelle vous souhaitez faire apparaitre une coche. 4. Allez dans le menu Insertion. Cliquez dans le ruban en haut de votre feuille sur l'onglet Insertion pour faire apparaitre la barre d'outils de ce dernier. 5. Sélectionnez l'icône Symboles.
Dans ce tutoriel nous allons voir comment réaliser un test du khi deux ou khi carré dans le logiciel Excel. Nous allons voir qu’il faut plusieurs phases pour obtenir le résultat. Pour ceux qui se demandent à quoi peut bien servir le test du khi deux ou khi carré, il s’agit d’un test d’indépendance entre deux variables. Autrement dit, celui-ci va nous permettre de déterminer si oui ou non il y a un lien entre nos variables. Dans notre cas, le test sera réalisé sur les résultats d’un sondage. Celui-ci comportait deux questions, la première demandait le sexe de la personne répondant au questionnaire et la seconde si cette même personne avait déjà oui ou non consommée de l’alcool sur son lieu de travail l’abus d’alcool est dangereux pour la santé 😉 , quand je dis alcool cela comprend bien évidemment pot de départ, repas d’affaires… Nous avons obtenu 109 réponses au questionnaire il est fictif je précise, les réponses sont contenues dans un formulaire. A partir de là, nous allons essayer de déterminer si il y a un lien entre nos deux variables, autrement dit, y a t-il un lien entre le sexe de la personne interrogée et la consommation d’alcool sur le lien de travail. Les réponses du formulaire sont représentées sous la forme 0 et 1 pour les deux questions. Pour la première question 0 correspond aux femmes et 1 aux hommes, pour la deuxième réponse 0 correspond aux personnes ayant déjà bu de l’alcool sur leur lieu de travail et 1 celles qui ne l’ont jamais fait. Pour réaliser notre test du khi deux ou khi carré nous allons effectuer plusieurs étapes 1 – Réaliser un tableau croisé dynamique 2 – Calcul des fréquences théoriques 3 – Calcul du khi deux ou khi carré 4 – Recherche du khi deux ou khi carré critique 5 – Autre calcul du khi deux ou khi carré Vous pouvez consulter la vidéo ci-dessous qui résume les différentes étapes Voici les deux fichiers si vous souhaitez suivre les étapes, le premier est l’exercice vierge, le second la solution 1 – Réaliser un tableau croisé dynamique Je pense que vous savez déjà réaliser un tableau croisé dynamique sous Excel. Il va nous permettre de dépouiller rapidement les données du sondage. Notre tableau dynamique va nous donner répartition des deux variables nos deux réponses de formulaires. Ainsi, nous serons, combien de femmes ont répondu oui ou non et combien d’hommes ont répondu oui ou non. Dans un second temps, cela nous permettra de réaliser le calcul des fréquences théoriques. L’illustration ci-dessous présente la mise en forme du tableau croisé – L’étape une symbolisée par le 1 en rouge présente comment créer le tableau dynamique, dans l’onglet insertion, cliquez sur Tableau croisé dynamique », cela devrait vous sélectionner l’ensemble des données. Si c’est le cas, validez la saisie, sinon sélectionnez l’ensemble des données du sondage et valider. – L’étape deux en orange sur l’illustration ci-dessous permet de mettre en forme le tableau croisé dynamique, vous aurez une interface similaire à celle ci-dessous pour créer votre tableau, dans un premier temps, sélectionnez la variable sexe et faite la glisser dans le champ LIGNES, puis vous pouvez la sélectionner à nouveau et faite la glisser dans le champ VALEURS, vérifier que l’opération du champ VALEURS est bien sur nombre cela nous indiquera donc le nombre de réponses par sexe. Ensuite, sélectionnez la variable rep_alcool et glissez là dans le champ COLONNES. – Enfin, l’étape trois en bleu sur la capture ci-dessous nous fait apparaître le résultat de notre tableau croisé dynamique. Ainsi, on apprend, entre autres, que 56 hommes ont répondus contre 53 femmes, où par exemple que 35 personnes sur les 109 ont déjà bu sur leur lieu de travail. Notre tableau dynamique a donc dépouillé les données pour nous. 2 – Calcul des fréquences théoriques Les fréquences théoriques correspondent aux fréquences que l’on obtiendrait si nos deux variables étaient indépendantes. Autrement dit, sans lien entre nos variables, donc entre le sexe et la consommation d’alcool, nous devrions logiquement obtenir le même pourcentage de réponses positives et négatives chez les hommes et chez les femmes. Maintenant, nous retournons sur notre première feuille, dans celle-ci copiez / collez le tableau croisé dynamique que nous avons créé précédemment, et remplacer les 0 et 1 par les véritables variables correspondantes, autrement dit, remplacez les 0 et les 1, le résultat devrait être celui ci-dessous Pour calculer les fréquences théoriques nous avons besoins de connaître le pourcentage des personnes ayant répondus à oui ou à non à notre question sur l’alcool. Pour cela, sélectionnez la variable Total de oui » représentée par F9 et divisez là par le Total de réponse » représenté par H9. La formule dans la case rouge sous le tableau comme sur la capture ci-dessous est donc =F9/$H9. Le signe $ permet de faire glisser la formule dans le champ à côté pour obtenir les 67,9% sans décaler la case H9 du calcul sinon la division aurait eu lieu en H10. Nos pourcentages sont donc % des personnes ont dit oui quand % ont dit non. Passons maintenant au calcul des fréquences théoriques dont nous aurons besoins pour le calcul du khi deux ou khi carré. Recopier le tableau ci-dessus sans les pourcentages que nous venons de calculer. La capture ci-dessous vous montre comment obtenir les fréquences théoriques, pour la réponse oui des femmes il faut multiplier le pourcentage de notre colonne par celle de notre ligne dans notre premier tableau. Le signe $ permet de bloquer le déplacement de la ligne pourcentage et de la colonne Total, sans cela une erreur apparaitrait. Faites glisser le calcul en bas et sur le côté pour obtenir les fréquences théoriques des oui et non selon les hommes et les femmes. Le résultat devrait être le suivant 3 – Calcul du khi deux ou khi carré Nous allons passer au calcul du khi deux ou khi carré. La capture ci-dessous vous présente la méthode de calcul. Il faut dans un premier temps représenté une nouvelle fois le tableau croisé dynamique. Nous allons donc compléter les différentes cases. Pour effectuer le calcul sélectionnez la case du oui pour les femmes, nous allons insérer une formule qui va calculer la portion du khi deux ou khi carré pour les femmes ayant déjà consommées de l’alcool sur leur lieu de travail. La formule est la suivante femmes_ayant_bu – freq_theorique_femmes_ayant_bu² / freq_theorique_femmes_ayant_bu En langage Excel, et pour notre configuration cela sera représenté par la formule =F7-F14^2/F14. Le chapeau suivi du deux permet de calculer le carré. Faites glisser la formule pour les données concernant les femmes et les hommes ayant répondu oui ou non, mais pas dans les colonnes Total. La capture ci-dessous montre le tableau du khi deux ou khi carré entièrement rempli, mais le calcul des colonnes total sera présenté juste après. Pour calculer les colonnes total », il suffit de faire pour chaque colonne du tableau la somme et de même pour chaque ligne. Exemple le total des non est donc la somme de 0,699907368 et 0,66241233. La capture si dessous vous montre les sommes à effectuer en fonction des lignes et colonnes par le biais de couleurs c’est vraiment au cas où vous n’auriez pas compris 😉 . Notre khi deux ou khi carré apparaît dans la somme des colonnes et lignes total », il s’agit du chiffre 4,242652775. Nous venons donc de calculer notre khi deux ou khi carré, mais encore faut-il s’en servir. 4 – Recherche du khi deux ou khi carré critique Nous allons maintenant tester l’indépendance de nos variables. Pour cela nous allons rechercher la valeur critique du khi deux ou khi carré. Au-delà de cette valeur, nous allons rejeter l’hypothèse nulle H0. Mais vous allez me dire, c’est quoi H0 ? Nous pouvons envisager deux résultats pour nos hypothèses, il s’agit de l’hypothèse nulle H0 et de l’hypothèse alternative H1. Notre hypothèse H0 indique qu’il n’y a pas de lien entre les variables sexe et la consommation d’alcool sur le lieu de travail. Notre hypothèse H1 indique quand ta elle qu’il y a un lien entre le sexe et le fait de consommer de l’alcool sur le lieu de travail. Nous allons donc soit rejeter H0 soit accepter H0, autrement dit, soit valider une relation entre les variables rejeter H0 soit ne pas conclure à une relation entre les variables accepter H0. Si vous ne comprenez pas encore ce fonctionnement, je vais détailler le processus et la phrase de conclusion vous permettra certainement d’y voir plus clair. Dans un premier temps, sélectionnez une cellule dans laquelle vous souhaitez faire apparaître le résultat, puis utilisez l’icône fx pour sélectionner une fonction. Une fenêtre comme celle sur la capture ci-dessous devrait apparaître. Dans le champ Recherchez une fonction » indiquez khi deux » puis cliquer sur rechercher, cela vous affiche dans le champ en dessous les fonctions en rapport avec le mot clé khi deux. Sélectionnez la fonction puis validez. Vous arrivez sur la fenêtre permettant de renseigner les paramètres de la fonction. Vous avez deux informations à compléter, la probabilité et Degrés_liberté. La probabilité représente le seuil de signification, généralement on utilise 5% et 1%, soit 0,05 et 0,01. Il s’agit du risque d’erreur que l’on est prêt à accepter. Pour le degré de liberté vous pouvez utiliser la formule dl = nombre de catégories de la 1 variable – 1 * nombre de catégories de la 2ème variable – 1. Dans notre cas chaque variable compte deux catégories hommes / femmes et la réponse oui / non donc cela donne dl = 2-1 * 2-1 = 1 * 1 = 1. Notre degrés_liberté est donc 1. La capture montre donc les informations à indiquer pour un seuil de signification de 5%. La capture ci-dessous montre le résultat avec le paramètre probabilité à 5% donc 0,05 et 1% donc 0,01, le résultat est de 3,841458821 pour le paramètre à 5% et 6,634896601 pour 1%. Les conclusions que l’on peut en tirer sont les suivantes Avec un seuil de 5% notre résultat est de 3,84, la règle veut que si notre khi deux 4,242652775, calculé précédemment, est supérieur à 3,84 la valeur que nous venons de calculer avec 5% alors on rejette H0. On rejette donc le fait qu’il n’y est pas de lien entre les variables. Pour faire une conclusion, comme H0 est rejeté, on peut en conclure avec un risque d’erreur de 5% qu’il existe un lien entre le sexe des répondants et la réponse à notre question sur la consommation d’alcool sur le lieu de travail. Pour le seuil de 1%, je pense que vous avez compris, 6,63 étant supérieur à notre khi deux 4,24, H0 n’est pas rejeté, donc on peut conclure qu’avec un risque d’erreur de 1% , le résultat obtenu ne nous permet pas de conclure qu’il y a un lien entre le sexe et la réponse à notre question sur la consommation d’alcool sur le lieu de travail. A la question, existe-t-il un lien entre les deux variables, à un seuil de signification de 5% oui mais à 1% non donc se sera au statisticien de juger en sélectionnant un risque d’erreur qui lui semble acceptable. 5 – Autre calcul du khi deux ou khi carré Il existe une autre façon, beaucoup plus rapide pour effectuer notre test. Il faut utiliser la fonction Excel Elle va nous permettre de calculer l’air à droite de notre khi deux calculé précédemment. On pourra ainsi déterminer le pourcentage au dessus de celui-ci. Vous pouvez soit utiliser l’icône fx comme dans l’exemple précédent, soit utiliser directement la formule dans une cellule comme dans la démonstration ci-dessous Sur la capture ci-dessus, on constate qu’il faut utiliser la fonction et indiquer en paramètre la plage des valeurs de notre premier tableau qui correspond au tableau des fréquences observées, insérer un point virgule puis la plage des valeurs du tableau des fréquences théorique. La formule est = Le résultat est donc de 0,039420526353728 qu’il suffit de convertir en pourcentage pour obtenir 3,942%. Le résultat signifie donc qu’il y a 3,942% au dessus de notre khi deux ou khi carré. Le défaut de cette formule est que nous ne connaissons pas la valeur du khi deux ou khi carré, il faut utiliser la méthode précédente pour le connaître, mais elle nous permet de comprendre pourquoi H0 à été rejeté avec le seuil de signification à 5% et pourquoi il ne l’a pas été avec le seuil de signification à 1% puisque 3,942% se trouve entre les deux.
Vouspouvez également faire varier la taille de ce carré en changeant le crochet et le poids du fil; un crochet plus grand avec un fil plus épais créera un plus grand carré. Les exemples de ce didacticiel utilisent du fil DK et du fil peigné, tous deux travaillés avec un crochet de taille I
Aller au menu Aller au contenu Aller à la recherche Bibliothèque Accéder à tous les contenus de la bibliothèque Informatique Autres informatique Bureautique et rédaction Développement Web Matériel et électronique Programmation et algorithmique Systèmes d'exploitation Sciences de la nature Astronomie Autres sciences de la nature Biologie Chimie Mathématiques Physique Sciences de la terre Sciences humaines et sociales Autres sciences humaines et sociales Droit Économie Histoire Langues Psychologie Autres Arts, graphisme et multimédia Autres Communication et management Zeste de Savoir Tags les plus utilisés zds mathématiques algorithmique python physique Tous les tags Tribune Tous les billets Informatique Autres informatique Bureautique et rédaction Développement Web Matériel et électronique Programmation et algorithmique Systèmes d'exploitation Sciences de la nature Astronomie Autres sciences de la nature Biologie Chimie Mathématiques Physique Sciences de la terre Sciences humaines et sociales Autres sciences humaines et sociales Droit Économie Histoire Langues Psychologie Autres Arts, graphisme et multimédia Autres Communication et management Zeste de Savoir Tags les plus utilisés python zds c++ musique javascript Tous les tags Forum Tous les forums Savoirs Programmation Développement Web Multimédia et Jeux vidéo Systèmes et Matériels Sciences Les autres savoirs Communauté Le bar à smoothies Bugs et Suggestions Dev Zone Contenus en cours de rédaction Vos projets L'association Tags les plus utilisés python c++ php arduino c Accueil Tutoriels Apprenez à programmer en Java Java et la programmation événementielle Notre première fenêtre Licence CC BY-NC-SA Notre première fenêtre Ce contenu est obsolète. Il peut contenir des informations intéressantes mais soyez prudent avec celles-ci. Dans cette partie, nous aborderons les interfaces graphiques on parle aussi d'IHM pour Interfaces Homme Machine ou de GUI pour Graphical User Interfaces et, par extension, la programmation événementielle. Par là, vous devez comprendre que votre programme ne réagira plus à des saisies au clavier mais à des événements provenant d'un composant graphique un bouton, une liste, un menu… Le langage Java propose différentes bibliothèques pour programmer des IHM, mais dans cet ouvrage, nous utiliserons essentiellement les packages et présents d'office dans Java. Ce chapitre vous permettra d'apprendre à utiliser l'objet JFrame, présent dans le package Vous serez alors à même de créer une fenêtre, de définir sa taille, etc. Le fonctionnement de base des IHM vous sera également présenté et vous apprendrez qu'en réalité, une fenêtre n'est qu'une multitude de composants posés les uns sur les autres et que chacun possède un rôle qui lui est propre. Mais trêve de bavardages inutiles, commençons tout de suite ! L'objet JFrame L'objet JPanel Les objets Graphics et Graphics2D L'objet JFrame Avant de nous lancer à corps perdu dans cette partie, vous devez savoir de quoi nous allons nous servir. Dans ce cours, nous traiterons de et de Nous n'utiliserons pas de composants awt, nous travaillerons uniquement avec des composants swing ; en revanche, des objets issus du package awt seront utilisés afin d'interagir et de communiquer avec les composants swing. Par exemple, un composant peut être représenté par un bouton, une zone de texte, une case à cocher, etc. Afin de mieux comprendre comment tout cela fonctionne, vous devez savoir que lorsque le langage Java a vu le jour, dans sa version seul awt était utilisable ; swing n'existait pas, il est apparu dans la version de Java appelée aussi Java 2. Les composants awt sont considérés comme lourds on dit aussi HeavyWeight car ils sont fortement liés au système d'exploitation, c'est ce dernier qui les gère. Les composants swing, eux, sont comme dessinés dans un conteneur, ils sont dit légers on dit aussi LightWeight ; ils n'ont pas le même rendu à l'affichage, car ce n'est plus le système d'exploitation qui les gère. Il existe également d'autres différences, comme le nombre de composants utilisables, la gestion des bordures… Pour toutes ces raisons, il est très fortement recommandé de ne pas mélanger les composants swing et awt dans une même fenêtre ; cela pourrait occasionner des conflits ! Si vous associez les deux, vous aurez de très grandes difficultés à développer une IHM stable et valide. En effet, swing et awt ont les mêmes fondements mais diffèrent dans leur utilisation. Cette parenthèse fermée, nous pouvons entrer dans le vif du sujet. Je ne vous demande pas de créer un projet contenant une classe main, celui-ci doit être prêt depuis des lustres ! Pour utiliser une fenêtre de type JFrame, vous devez l'instancier, comme ceci import public class Test { public static void mainString[] args{ JFrame fenetre = new JFrame; } } Lorsque vous exécutez ce code, vous n'obtenez rien, car par défaut, votre JFrame n'est pas visible. Vous devez donc lui dire sois visible » de cette manière import public class Test { public static void mainString[] args{ JFrame fenetre = new JFrame; } } Ainsi, lorsque vous exécutez ce code, vous obtenez la figure suivante. Première fenêtre À toutes celles et ceux qui se disent que cette fenêtre est toute petite, je réponds Bienvenue dans le monde de la programmation événementielle ! » Il faut que vous vous y fassiez, vos composants ne sont pas intelligents il va falloir leur dire tout ce qu'ils doivent faire. Pour obtenir une fenêtre plus conséquente, il faudrait donc qu'elle soit plus grande ; qu'elle comporte un titre ce ne serait pas du luxe ! ; qu'elle figure au centre de l'écran, ce serait parfait ; que notre programme s'arrête réellement lorsqu'on clique sur la croix rouge, car, pour ceux qui ne l'auraient pas remarqué, le processus Eclipse tourne encore même après la fermeture de la fenêtre. Pour chacun des éléments que je viens d'énumérer, il y a aura une méthode à appeler afin que notre JFrame sache à quoi s'en tenir. Voici d'ailleurs un code répondant à toutes nos exigences 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19import public class Test { public static void mainString[] args{ JFrame fenetre = new JFrame; //Définit un titre pour notre fenêtre première fenêtre Java"; //Définit sa taille 400 pixels de large et 100 pixels de haut 100; //Nous demandons maintenant à notre objet de se positionner au centre //Termine le processus lorsqu'on clique sur la croix rouge //Et enfin, la rendre visible } } Voyez le rendu de ce code en figure suivante. Une fenêtre plus adaptée Afin de ne pas avoir à redéfinir les attributs à chaque fois, je pense qu'il serait utile que nous possédions notre propre objet. Comme ça, nous aurons notre propre classe ! Pour commencer, effaçons tout le code que nous avons écrit dans notre méthode main. Créons ensuite une classe que nous allons appeler Fenetre et faisons-la hériter de JFrame. Nous allons maintenant créer notre constructeur, dans lequel nous placerons nos instructions. Cela nous donne import public class Fenetre extends JFrame { public Fenetre{ première fenêtre Java"; 500; } } Ensuite, vous avez le choix soit vous conservez votre classe contenant la méthode main et vous créez une instance de Fenetre, soit vous effacez cette classe et vous placez votre méthode main dans votre classe Fenetre. Mais dans tous les cas, vous devez créer une instance de votre Fenetre. Personnellement, je préfère placer ma méthode main dans une classe à part… Mais je ne vous oblige pas à faire comme moi ! Quel que soit l'emplacement de votre main, la ligne de code suivante doit y figurer Fenetre fen = new Fenetre; Exécutez votre nouveau code, et… vous obtenez exactement la même chose que précédemment. Vous conviendrez que c'est tout de même plus pratique de ne plus écrire les mêmes instructions à chaque fois. Ainsi, vous possédez une classe qui va se charger de l'affichage de votre futur programme. Et voici une petite liste de méthodes que vous serez susceptibles d'utiliser. Positionner la fenêtre à l'écran Nous avons déjà centré notre fenêtre, mais vous voudriez peut-être la positionner ailleurs. Pour cela, vous pouvez utiliser la méthode setLocationint x, int y. Grâce à cette méthode, vous pouvez spécifier où doit se situer votre fenêtre sur l'écran. Les coordonnées, exprimées en pixels, sont basées sur un repère dont l'origine est représentée par le coin supérieur gauche figure suivante. Coordonnées sur votre écran La première valeur de la méthode vous positionne sur l'axe x, 0 correspondant à l'origine ; les valeurs positives déplacent la fenêtre vers la droite tandis que les négatives la font sortir de l'écran par la gauche. La même règle s'applique aux valeurs de l'axe y, si ce n'est que les valeurs positives font descendre la fenêtre depuis l'origine tandis que les négatives la font sortir par le haut de l'écran. Empêcher le redimensionnement de la fenêtre Pour cela, il suffit d'invoquer la méthode setResizableboolean b false empêche le redimensionnement tandis que true l'autorise. Garder la fenêtre au premier plan Il s'agit là encore d'une méthode qui prend un booléen en paramètre. Passer true laissera la fenêtre au premier plan quoi qu'il advienne, false annulera cela. Cette méthode est setAlwaysOnTopboolean b. Retirer les contours et les boutons de contrôle Pour ce faire, il faut utiliser la méthode setUndecoratedboolean b. Je ne vais pas faire le tour de toutes les méthodes maintenant, car de toute façon, nous allons nous servir de bon nombre d'entre elles très je suppose que vous aimeriez bien remplir un peu votre fenêtre. Je m'en doutais, mais avant il vous faut encore apprendre une bricole. En effet, votre fenêtre, telle qu'elle apparaît, vous cache quelques petites choses ! Vous pensez, et c'est légitime, que votre fenêtre est toute simple, dépourvue de tout composant hormis les contours. Eh bien vous vous trompez ! Une JFrame est découpée en plusieurs parties superposées, comme le montre la figure suivante. Structure d'une JFrame Nous avons, dans l'ordre la fenêtre ; le RootPane en vert, le conteneur principal qui contient les autres composants ; le LayeredPane en violet, qui forme juste un panneau composé du conteneur global et de la barre de menu MenuBar ; la MenuBar en orange, la barre de menu, quand il y en a une ; le content pane en rose c'est dans celui-ci que nous placerons nos composants ; le GlassPane en transparence, couche utilisée pour intercepter les actions de l'utilisateur avant qu'elles ne parviennent aux composants. Pas de panique, nous allons nous servir uniquement du content pane. Pour le récupérer, il nous suffit d'utiliser la méthode getContentPane de la classe JFrame. Cependant, nous allons utiliser un composant autre que le content pane un JPanel dans lequel nous insérerons nos composants. Il existe d'autres types de fenêtre la JWindow, une JFrame sans bordure et non draggable déplaçable, et la JDialog, une fenêtre non redimensionnable. Nous n'en parlerons toutefois pas ici. L'objet JPanel Comme je vous l'ai dit, nous allons utiliser un JPanel, composant de type conteneur dont la vocation est d'accueillir d'autres objets de même type ou des objets de type composant boutons, cases à cocher…. Voici le marche à suivre Importer la classe dans notre classe héritée de JFrame. Instancier un JPanel puis lui spécifier une couleur de fond pour mieux le distinguer. Avertir notre JFrame que ce sera notre JPanel qui constituera son content pane. Rien de bien sorcier, en somme. Qu'attendons-nous ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19import import import public class Fenetre extends JFrame { public Fenetre{ première fenêtre Java"; 100; //Instanciation d'un objet JPanel JPanel pan = new JPanel; //Définition de sa couleur de fond //On prévient notre JFrame que notre JPanel sera son content pane } } Vous pouvez voir le résultat à la figure suivante. Premier JPanel C'est un bon début, mais je vois que vous êtes frustrés car il n'y a pas beaucoup de changement par rapport à la dernière fois. Eh bien, c'est maintenant que les choses deviennent intéressantes ! Avant de vous faire utiliser des composants des boutons, par exemple, nous allons nous amuser avec notre JPanel. Plus particulièrement avec un objet dont le rôle est de dessiner et de peindre notre composant. Ça vous tente ? Alors, allons-y ! Les objets Graphics et Graphics2D L'objet Graphics Nous allons commencer par l'objet objet a une particularité de taille vous ne pouvez l'utiliser que si et seulement si le système vous l'a donné via la méthode getGraphics d'un composant swing ! Pour bien comprendre le fonctionnement de nos futurs conteneurs ou composants, nous allons créer une classe héritée de JPanel appelons-la Panneau. Nous allons faire un petit tour d'horizon du fonctionnement de cette classe, dont voici le code import import public class Panneau extends JPanel { public void paintComponentGraphics g{ //Vous verrez cette phrase chaque fois que la méthode sera invoquée suis exécutée !"; 20, 75, 75; } } Qu'est-ce que c'est que cette méthode ? Cette méthode est celle que l'objet appelle pour se dessiner sur votre fenêtre ; si vous réduisez cette dernière et que vous l'affichez de nouveau, c'est encore cette méthode qui est appelée pour afficher votre composant. Idem si vous redimensionnez votre fenêtre… De plus, nous n'avons même pas besoin de redéfinir un constructeur car cette méthode est appelée automatiquement ! C'est très pratique pour personnaliser des composants, car vous n'aurez jamais à l'appeler vous-mêmes c'est automatique ! Tout ce que vous pouvez faire, c'est forcer l'objet à se repeindre ; ce n'est toutefois pas cette méthode que vous invoquerez, mais nous y reviendrons. Vous aurez constaté que cette méthode possède un argument et qu'il s'agit du fameux objet Graphics tant convoité. Nous reviendrons sur l'instruction 20, 75, 75, mais vous verrez à quoi elle sert lorsque vous exécuterez votre programme. Voici maintenant notre classe Fenetre 1 2 3 4 5 6 7 8 9 10 11 12 13import public class Fenetre extends JFrame { public Fenetre{ première fenêtre Java"; 150; Panneau; } } Exécutez votre main, vous devriez obtenir la même chose qu'à la figure suivante. Test de l'objet Graphics Une fois votre fenêtre affichée, étirez-la, réduisez-la… À présent, vous pouvez voir ce qu'il se passe lorsque vous interagissez avec votre fenêtre celle-ci met à jour ses composants à chaque changement d'état ou de statut. L'intérêt de disposer d'une classe héritée d'un conteneur ou d'un composant, c'est que nous pouvons redéfinir la façon dont est peint ce composant sur la fenêtre. Après cette mise en bouche, explorons un peu plus les capacités de notre objet Graphics. Comme vous avez pu le voir, ce dernier permet, entre autres, de tracer des ronds ; mais il possède tout un tas de méthodes plus pratiques et amusantes les unes que les autres… Nous ne les étudierons pas toutes, mais vous aurez déjà de quoi faire. Pour commencer, reprenons la méthode utilisée précédemment 20, 75, 75. Si nous devions traduire cette instruction en français, cela donnerait Trace un rond plein en commençant à dessiner sur l'axe x à 20 pixels et sur l'axe y à 20 pixels, et fais en sorte qu'il occupe 75 pixels de large et 75 pixels de haut. » Oui, mais si je veux que mon rond soit centré et qu'il le reste ? C'est dans ce genre de cas qu'il est intéressant d'utiliser une classe héritée. Puisque nous sommes dans notre objet JPanel, nous avons accès à ses données lorsque nous le dessinons. En effet, il existe des méthodes dans les objets composants qui retournent leur largeur getWidth et leur hauteur getHeight. En revanche, réussir à centrer un rond dans un JPanel en toutes circonstances demande un peu de calcul mathématique de base, une pincée de connaissances et un soupçon de logique ! Reprenons notre fenêtre telle qu'elle se trouve en ce moment. Vous pouvez constater que les coordonnées de départ correspondent au coin supérieur gauche du carré qui entoure ce cercle, comme le montre la figure suivante. Point de départ du cercle dessiné Cela signifie que si nous voulons que notre cercle soit tout le temps centré, il faut que notre carré soit centré, donc que le centre de celui-ci corresponde au centre de notre fenêtre ! La figure suivante est un schéma représentant ce que nous devons obtenir. Coordonnées recherchées Ainsi, le principe est d'utiliser la largeur et la hauteur de notre composant ainsi que la largeur et la hauteur du carré qui englobe notre rond ; c'est facile, jusqu'à présent… Maintenant, pour trouver où se situe le point depuis lequel doit commencer le dessin, il faut soustraire la moitié de la largeur du composant à la moitié de celle du rond afin d'obtenir la valeur sur l'axe x, et faire de même en soustrayant les hauteurs, cette fois pour l'axe y. Afin que notre rond soit le plus optimisé possible, nous allons donner comme taille à notre carré la moitié de la taille de notre fenêtre ; ce qui revient, au final, à diviser la largeur et la hauteur de cette dernière par quatre. Voici le code correspondant import import public class Panneau extends JPanel { public void paintComponentGraphics g{ int x1 = int y1 = y1, } } Si vous testez à nouveau notre code, vous vous apercevez que notre rond est maintenant centré. Cependant, l'objet Graphics permet d'effectuer plein d'autres choses, comme peindre des ronds vides, par exemple. Sans rire ! Maintenant que vous avez vu comment fonctionne cet objet, nous allons pouvoir utiliser ses méthodes. La méthode drawOval Il s'agit de la méthode qui permet de dessiner un rond vide. Elle fonctionne exactement de la même manière que la méthode fillOval. Voici un code mettant en œuvre cette méthode import import public class Panneau extends JPanel { public void paintComponentGraphics g{ int x1 = int y1 = y1, } } Le résultat se trouve en figure suivante. Rendu de la méthode drawOval Si vous spécifiez une largeur différente de la hauteur, ces méthodes dessineront une forme ovale. La méthode drawRect Cette méthode permet de dessiner des rectangles vides. Bien sûr, son homologue fillRect existe. Ces deux méthodes fonctionnent de la même manière que les précédentes, voyez plutôt ce code import import public class Panneau extends JPanel { public void paintComponentGraphics g{ //x1, y1, width, height 10, 50, 60; 65, 30, 40; } } Le résultat se trouve à la figure suivante. Rendu des méthodes drawRect et fillRect La méthode drawRoundRect Il s'agit du même élément que précédemment, hormis le fait que le rectangle sera arrondi. L'arrondi est défini par la valeur des deux derniers paramètres. import import public class Panneau extends JPanel { public void paintComponentGraphics g{ //x1, y1, width, height, arcWidth, arcHeight 10, 30, 50, 10, 10; 65, 55, 30, 5, 5; } } Voyez le résultat en figure suivante. Rendu de la méthode drawRoundRect La méthode drawLine Cette méthode permet de tracer des lignes droites. Il suffit de lui spécifier les coordonnées de départ et d'arrivée de la ligne. Dans ce code, je trace les diagonales du conteneur import import public class Panneau extends JPanel { public void paintComponentGraphics g{ //x1, y1, x2, y2 0, 0; } } Le résultat se trouve à la figure suivante. Rendu de la méthode drawLine La méthode drawPolygon Grâce à cette méthode, vous pouvez dessiner des polygones de votre composition. Eh oui, c'est à vous de définir les coordonnées de tous les points qui les forment ! Voici à quoi elle ressemble drawPolygonint[] x, int[] y, int nbrePoints; Le dernier paramètre est le nombre de points formant le polygone. Ainsi, vous n'aurez pas besoin d'indiquer deux fois le point d'origine pour boucler votre figure Java la fermera automatiquement en reliant le dernier point de votre tableau au premier. Cette méthode possède également son homologue pour dessiner des polygones remplis fillPolygon. 1 2 3 4 5 6 7 8 9 10 11 12 13 14import import public class Panneau extends JPanel { public void paintComponentGraphics g{ int x[] = {20, 30, 50, 60, 60, 50, 30, 20}; int y[] = {30, 20, 20, 30, 50, 60, 60, 50}; y, 8; int x2[] = {50, 60, 80, 90, 90, 80, 60, 50}; int y2[] = {60, 50, 50, 60, 80, 90, 90, 80}; y2, 8; } } Voyez le résultat à la figure suivante. Rendu des méthodes drawPolygon et fillPolygon Il existe également une méthode qui prend exactement les mêmes arguments mais qui, elle, trace plusieurs lignes drawPolyline. Cette méthode va dessiner les lignes correspondant aux coordonnées définies dans les tableaux, sachant que lorsque son indice s'incrémente, la méthode prend automatiquement les valeurs de l'indice précédent comme point d'origine. Cette méthode ne fait pas le lien entre la première et la dernière valeur de vos tableaux. Vous pouvez essayer le code précédent en remplaçant drawPolygon par cette méthode. La méthode drawString Voici la méthode permettant d'écrire du texte. Elle est très simple à utiliser il suffit de lui passer en paramètre la phrase à écrire et de lui spécifier à quelles coordonnées commencer. import import public class Panneau extends JPanel { public void paintComponentGraphics g{ ! Le Site du Zéro !", 10, 20; } } Le résultat se trouve à la figure suivante. Rendu de la méthode drawString Vous pouvez aussi modifier la couleur la modification s'appliquera également pour les autres méthodes et la police d'écriture. Pour redéfinir la police d'écriture, vous devez créer un objet Font. Le code suivant illustre la façon de procéder. 1 2 3 4 5 6 7 8 9 10 11 12 13 14import import import import public class Panneau extends JPanel { public void paintComponentGraphics g{ Font font = new Font"Courier", 20; ! Le Site du Zéro !", 10, 20; } } Le résultat correspond à la figure suivante. Changement de couleur et de police d'écriture La méthode drawImage Voici à quoi elle ressemble drawImageImage img, int x, int y, Observer obs; Vous devez charger votre image grâce à trois objets un objet Image ; un objet ImageIO ; un objet File. Vous allez voir que l'utilisation de ces objets est très simple. Il suffit de déclarer un objet de type Image et de l'initialiser en utilisant une méthode statique de l'objet ImageIO qui, elle, prend un objet File en paramètre. Ça peut sembler compliqué, mais vous allez voir que ce n'est pas le cas… Notre image sera stockée à la racine de notre projet, mais ce n'est pas une obligation. Dans ce cas, faites attention au chemin d'accès de votre image. En ce qui concerne le dernier paramètre de la méthode drawImage, il s'agit de l'objet qui est censé observer l'image. Ici, nous allons utiliser notre objet Panneau, donc this. Cette méthode dessinera l'image avec ses propres dimensions. Si vous voulez qu'elle occupe l'intégralité de votre conteneur, utilisez le constructeur suivant drawImageImage img, int x, int y, int width, int height, Observer obs. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19import import import import import import public class Panneau extends JPanel { public void paintComponentGraphics g{ try { Image img = File" 0, 0, this; //Pour une image de fond // 0, 0, this; } catch IOException e { } } } Les résultats se trouvent aux deux figures suivantes pour bien vous montrer la différence, j'ai créé une fenêtre plus grande que l'image. Conservation de la taille d'origine de l'image Adaptation de la taille de l'image L'objet Graphics2D Ceci est une amélioration de l'objet Graphics, et vous allez vite comprendre pourquoi. Pour utiliser cet objet, il nous suffit en effet de caster l'objet Graphics en Graphics2D Graphics2D g2d = Graphics2D g, et de ne surtout pas oublier d'importer notre classe qui se trouve dans le package L'une des possibilités qu'offre cet objet n'est autre que celle de peindre des objets avec des dégradés de couleurs. Cette opération n'est pas du tout difficile à réaliser il suffit d'utiliser un objet GradientPaint et une méthode de l'objet Graphics2D. Nous n'allons pas reprendre tous les cas que nous avons vus jusqu'à présent, mais juste deux ou trois afin que vous voyiez bien la différence. Commençons par notre objet GradientPaint ; voici comment l'initialiser vous devez mettre à jour vos imports en ajoutant import GradientPaint gp = new GradientPaint0, 0, 30, 30, true; Alors, que signifie tout cela ? Voici le détail du constructeur utilisé dans ce code premier paramètre la coordonnée x où doit commencer la première couleur ; deuxième paramètre la coordonnée y où doit commencer la première couleur ; troisième paramètre la première couleur ; quatrième paramètre la coordonnée x où doit commencer la seconde couleur ; cinquième paramètre la coordonnée y où doit commencer la seconde couleur ; sixième paramètre la seconde couleur ; septième paramètre le booléen indiquant si le dégradé doit se répéter. Ensuite, pour utiliser ce dégradé dans une forme, il faut mettre à jour notre objet Graphics2D, comme ceci 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20import import import import import import import import import import public class Panneau extends JPanel { public void paintComponentGraphics g{ Graphics2D g2d = Graphics2Dg; GradientPaint gp = new GradientPaint0, 0, 30, 30, true; 0, } } Les deux figures suivantes représentent les résultats obtenus, l'un avec le booléen à true, et l'autre à false. Dégradé répété Dégradé stoppé Votre dégradé est oblique rien ne m'échappe, à moi -p. Ce sont les coordonnées choisies qui influent sur la direction du dégradé. Dans notre exemple, nous partons du point de coordonnées 0, 0 vers le point de coordonnées 30, 30. Pour obtenir un dégradé vertical, il suffit d'indiquer la valeur de la seconde coordonnée x à 0, ce qui correspond à la figure suivante. Dégradé horizontal Voici un petit cadeau 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32import import import import import import public class Panneau extends JPanel { public void paintComponentGraphics g{ Graphics2D g2d = Graphics2Dg; GradientPaint gp, gp2, gp3, gp4, gp5, gp6; gp = new GradientPaint0, 0, 20, 0, true; gp2 = new GradientPaint20, 0, 40, 0, true; gp3 = new GradientPaint40, 0, 60, 0, true; gp4 = new GradientPaint60, 0, 80, 0, true; gp5 = new GradientPaint80, 0, 100, 0, true; gp6 = new GradientPaint100, 0, 120, 0, true; 0, 20, 0, 20, 0, 20, 0, 20, 0, 20, 0, 40, } } Maintenant que vous savez utiliser les dégradés avec des rectangles, vous savez les utiliser avec toutes les formes. Je vous laisse essayer cela tranquillement chez vous. Pour créer des fenêtres, Java fournit les composants swing dans et awt dans Il ne faut pas mélanger les composants swing et awt. Une JFrame est constituée de plusieurs composants. Par défaut, une fenêtre a une taille minimale et n'est pas visible. Un composant doit être bien paramétré pour qu'il fonctionne à votre convenance. L'objet JPanel se trouve dans le package Un JPanel peut contenir des composants ou d'autres conteneurs. Lorsque vous ajoutez un JPanel principal à votre fenêtre, n'oubliez pas d'indiquer à votre fenêtre qu'il constituera son content pane. Pour redéfinir la façon dont l'objet est dessiné sur votre fenêtre, vous devez utiliser la méthode paintComponent en créant une classe héritée. Cette méthode prend en paramètre un objet Graphics. Cet objet doit vous être fourni par le système. C'est lui que vous allez utiliser pour dessiner dans votre conteneur. Pour des dessins plus évolués, vous devez utiliser l'objet Graphics2D qui s'obtient en effectuant un cast sur l'objet Graphics.
LACOUPE. Sur l’envers du tissu, tracez un carré de 50 cm de côté, un rectangle de 50 cm x 35 cm et un autre de 50 cm x 25 cm. Coupez les trois pièces à 2 cm du tracé. Dans l’autre tissu
Objectif Découvrir l’homothétie en deux séances ÉNONCÉ Niveau Fin de cycle 4, 3ème Pré-requis Avoir déjà utilisé GeoGebra Avoir déjà étudié un même type de tâche inscrire une figure dans une autre, par exemple De même, avoir déjà travaillé une question d’agrandissement, par exemple Déroulement Commencer par montrer une figure dynamique sous GeoGebra afin de faire comprendre à la classe qu’il ne s’agit pas de reproduire une figure statique particulière mais que la construction doit pouvoir fonctionner sur tous les triangles possibles. Dire aux élèves qu’ils vont devoir comprendre comment est construit le carré inscrit dans le triangle et qu’une fois la construction établie, ils pourront la réaliser sous GeoGebra. Distribuer l’énoncé et mettre les élèves au travail papier/crayon. Cette étape est importante, les élèves doivent prendre conscience de la difficulté de la construction. Comment faire en sorte que deux sommets soient sur deux côtés du triangle et que les deux autres sommets soient sur le même troisième côté ? On pourra distribuer des figures pour comprendre ». Ce sont des figures déjà réalisées sur lesquelles les élèves peuvent effectuer des tracés, repérer des alignements, mesurer, bref explorer. Relances / difficultés Les élèves vont produire des figures qu’ils ont réalisés à tâtons. En montrer une à la classe via un vidéoprojecteur. Elle pourra sembler justes à certains et une discussion de classe permettra de l’invalider après en avoir aussi montré les aspects positifs. Il faudra alors relancer la classe pour la faire sortir de cette situation de blocage. Une relance importante consiste à abaisser une contrainte Une fois la contrainte abaissée, la figure est relativement simple à construire. Questionner alors les élèves sur la taille du carré ainsi construit. Le carré solution est un agrandissement du petit » carré, comment le construire ? Peut-on construire des carrés de plus en plus grand ? Le carré pouvant même dépasser le carré solution. Une fois plusieurs carrés construits, peut-on trouver des alignements sommets des carrés ? Ces relances ont pour but d’obtenir des carrés homothétiques afin d’obtenir un sommet du carré solution Une fois la construction réalisée par tous, lors d’une deuxième séance, passer sous GeoGebra. On pourra limiter les outils avec une version de GeoGebra allégée » Institutionnalisation Voici un bilan possible qui montre les aspects dynamiques de l’homothétie qui devient un outil pour construire. Prolongements Lors de la séance sous GeoGebra, vérifier que la construction fonctionne dans tous les cas lorsqu’un des angles de la base » est obtus. Si ce n’est pas le cas demander de corriger, il faudra alors considérer les droites qui supportent les côtés du triangle et non pas seulement les segments. Proposer de construire des carrés inscrits à l’infini dans les trois triangles restants ou de construire les trois cercles inscrits dans les trois triangles restants Sangaku Conclusion Il restera à faire le lien avec le théorème de Thalès, en effet, cette tâche ne prend pas en compte le rapport de l’homothétie. Fichiers utiles
9StopdY. d0ce7y06n0.pages.dev/794d0ce7y06n0.pages.dev/762d0ce7y06n0.pages.dev/706d0ce7y06n0.pages.dev/325d0ce7y06n0.pages.dev/177d0ce7y06n0.pages.dev/706d0ce7y06n0.pages.dev/502d0ce7y06n0.pages.dev/916d0ce7y06n0.pages.dev/930d0ce7y06n0.pages.dev/531d0ce7y06n0.pages.dev/91d0ce7y06n0.pages.dev/570d0ce7y06n0.pages.dev/912d0ce7y06n0.pages.dev/577d0ce7y06n0.pages.dev/207
comment faire un carré avec une croix dedans