Java

Ajouter un nouvel élément

Les performances du mois

NetBeans
2
NeoMAD
1
Choix de police
3

    ang Application(JAVA/SWING/JPA/Hibernate) Guide des Restaurants

    Licence : Autre
    «Guide des Restaurants» a pour principe de jouer le rôle d'un guide des
    restaurants.
    développée en (Java/Swing/JPA/PostgreSQL,Hibernate...)

    Cette application permet de répertorier tous les restaurants, les fastfoods et
    les salons de thé avec tous les détails possibles afin d?offrir aux gourmets
    une panoplie de choix de mets et de cadres agréables pour le plaisir
    "des yeux et des papilles".

    Références:
    http://www.resto-tunisie.com/

    Logo: le logo pris est celui de Dinning Room (droit d'auteur réservé)

    Voilà, j'ai commencé ce projet afin de venir en aide à un ami qui
    en avait besoin pour son projet de fin d'année.
    Faute de temps et puisque j'avais d'autres obligations professionnelles,le projet
    était incomplet mais je pense qu'il pourra certainement aidé beaucoup de gens
    voulant apprendre et pratiquer du JAVA/SWING. puisque qu'il ya beaucoup de
    chose intéressantes.

    -Application des LookAnd Feel Java pour customiser l'appli.
    -JAVA Mail
    -Synthétiseur vocal
    -utilisation des PATTERN pour les contrôles
    -des notifications Windows dénichées d'un projet opens source (Twinkle)
    -Initiation à l'utilisation de Criteria
    -Image Wrapper
    -Meilleur utilisation de l'API Swing et SWT afin de créer des interfaces Graphiques
    ergonomiques

    Il suffit de change le fichier persistence.xml

    login user BD
    password du user BD
    //le nom de la base

    Les libraries que j'ai utilisé sont disponibles sous ce lien pour UPLOAD

    ==> A télécharger et importer comme libraries dans le projet
    http://www.mediafire.com/?nwk9qhh17zdru

    NB: Veillez à ce que toutes les libraries soient importées dans votre Projet (Build Path)

    Je n'ai pas eu le temps de préparer la partie graphique privilège, donc après avoir créer l'utilisateur,
    changer manuellement le privilège en allant à la table R_USER et changer la colonne
    privilege_ USER --> par ADMINISTRATOR afin d'avoir la console administrator afin d'avoir
    le boutton (Paramètres)

    ==> Pour lancer L'appli, Aller vers le Package com.esprit.gui.main et compiler la classe
    ----------------------------DinningRoomLauncher----------------------------------

    le code n'a pas été commenté et je m'en excuses davantage et peut être que parfois
    la qualité de codes n'est pas aussi bien optimisé (je n'ai eu que 5 jours pour préparer
    tout ça)

    Voilà tout est dit,Bonne continuation et j'espère que ça sera utile à quelques un.

    ang JavaExe 3.1

    Éditeur : DevWizard + 3.36 Mo
    JavaExe permet de lancer votre application Java à partir d'un .exe, comme s'il s'agissait d'une application Windows, d'un Service système ou d'un panneau de configuration.
    Il est également possible de fournir votre application Java avec un JRE afin de la rendre automone quelque soit la configuration du système client.

    Principales fonctionnalités de JavaExe :

    * Lancement en tant qu'Application Windows.
    * Lancement en tant que Service (avec possibilité d'interagir avec le Bureau).
    * Lancement en tant que Panneau de configuration de Windows (Control Panel).
    * Limitation du nombre d’instance en cours d’exécution.
    * Restauration automatiquement de l’application Java après un redémarrage système.
    * Gestion de la barre des tâches.
    * Gestion de la base de Registre de Windows.
    * Interception des événements systèmes de Windows (tel que l’insertion ou l’éjection d’un périphérique, demande de redémarrage du système, état de la batterie, ...).
    * Possibilité de définir un écran de démarrage.
    * Possibilité de changer l'icône du fichier exécutable.
    * Prise en charge de l'Unicode.

    ang JPanel transparent

    Licence : GPL
    Ci-joint deux classes java permettant de construire un JFrame qui contient des JPanel transparents, vous pouvez donc avoir une image en arrière plan et des composants là-dessus.
    pour ajouter les deux classes aux composants swing dans netbeans :
    - mettre les deux classes dans un projet.
    - clique droit de souris, puis choisis Palette Manager.
    - clique sur Add from project ensuite choisis les deux classes.
    - next et enfin choisis la catégorie de ces nouvelles composantes.

    ang Choix de police

    Licence : Creative Commons
    Boîte de dialogue proposant :
      Choix de la police, parmi les polices installées sur le système

      Choix du style : normal, gras, italique, gras et italique

      Choix de la taille : les tailles possibles sont définies dans un tableau d'entier, mais l'utilisateur peut en spécifier une autre


    L'affichage est habituel : une colonne police, une colonne style, une colonne taille, un exemple sous ces trois colonnes puis 'ok' et 'annuler' (voir image jointe).

    Le constructeur prend en argument la police à afficher par défaut, et la méthode fontGetter() retourne un objet Font contenant le choix de l'utilisateur.

    Attention : la boîte de dialogue n'est pas détruite, mais masquée, à la fin du dialogue.

    ang Renommer les fichiers en enlevant certaines caractéristiques

    Éditeur : Blackdread + 5 Ko
    Renomme les fichiers en enlevant certaines caractéristiques tels que les underscores, tiret, tout ce qui est contenu dans des [], (), {}.
    Le programme enlève les mots tel que(non case sensitive) : vostfr,1280p, 1280x720p, ReEnc, ...

    Il renomme tout les fichiers, même ceux dans les répertoires qui se trouvent après et met les fichiers à leur place d'origine.

    Bref :
    *Enlever les _ et - et . -> les remplacer par des espaces
    * Enlever double espace ou triple...
    * Enlever ce qui est entre [], {}, ()
    * Enlever les mots : vostfr, 1280x720 1280x720p 720p 1080p x264 X264 XviD XVID MP3 AAC HDTV ReEnc ...
    * Verifier que le nom ne commence ni ne fini par un espace

    ang LordMaitreya

    Licence : Mozilla
    Trevie

    ang OAQL Server

    Licence : GPL
    OAQL Server est un serveur de requête orienté architecture qui vous permet de connecter dans tous vos réseaux, toutes vos applications Java et toute vos bases de données SQL/NoSQL (de différents fournisseurs), comme si vous n'en aviez qu'une seule, dans un nouvel environnement orienté architecture.

    Par exemple, si vous aviez accès à la base de données de la police, celle de l'agence pour l'emploi et celle de l'aviation civile ... il serait très simple avec OAQL Server de répondre à une question comme: 'Parmi toutes les personnes qui ont pris l'avion la semaine dernière, combien ont déjà commis un crime et veulent travailler avec les enfants?'

    Principales fonctionnalités

    Les outils classiques SOA (Oracle SOA par exemple ...) proposent des modes de développement originaux (des carrés pour faire une boucle 'for', des losanges pour un 'if' ..., qui prennent trop de place à l'écran ...), du transfert via XML (complexifiant la tâche du technicien, surtout avec les 'namespace' ..., et bien que XML soit un standard, il vous faudra quand même développer vos web-services et web-clients spécifiques; un champ de plus à ajouter peu s'avérer cher en temps de redéploiement).

    Ce serveur vous propose de voir les choses autrement :


    Les boucles 'for', 'while', 'repeat' restent à leur place.
    Pas de temps d'adaptation graphique.
    Votre écran ne vous paraîtra pas "petit".
    Pas de transfert par XML


    Il dispose de son propre protocole (transfert plus rapide et sécurisé en une commande).


    Vous transférez directement des vues (comme des 'view' en SQL).
    Pas besoin de développer des web-services et web-clients..
    Vous voulez un champ de plus, pas besoin de redéployer vos web-services et web-client.
    Le parseur de vue est déjà développé.


    Il dispose de son propre langage de programmation.


    Langage proche du SQL/NoSQL vous permettant de faire des 'select' sur des bases de données distantes et de fournisseurs différents.
    Un outil puissant vous permettant de parser automatique vos 'select' et d'exécuter de l'OAQL sur chaque ligne.
    Un langage de programmation relativement bien fourni ... avec plus de 400 fonctions intégrés.
    Un serveur facilement clusterisable.


    Configurations requises


    Windows (32 ou 64bit)
    Linux

    ang JMSL

    Éditeur : Rogue Wave Software +
    La bibliothèque numérique JMSL ("Java IMSL") est un ensemble de classes 100% Java proposant des algorithmes mathématiques et statistiques avancés ainsi que des classes de charting (2D et 3D).

    ang Équation du second degré

    Éditeur : ADJO KEVIN + 6 Mo
    UN LOGICIEL DE CALCUL DE SOLUTION POUR LES EQUATIONS DU SECONDE DEGREES
    REALISE PAR ADJO KEVIN ET SON EPOUSE AKA AUDREY

    ang ARQ

    Éditeur : Openjena + 22.3 Mo
    Il inclut :
  • Le standard SPARQL
  • Recherche de texte libre par l'intermédiaire de Lucene
  • SPARQL/Update
  • Accès et extension à l'algèbre SPARQL
  • Prise en charge de fonctions de filtrage personnalisées
  • Fonctions de propriétés pour un traitement personnalisé des relations sémantiques
  • L’agrégation, GROUP BY et l'affectation comme extensions SPARQL
  • Support pour requête fédérées
  • Soutien de l'extension à d'autres systèmes de stockage
  • Support d'un accès distant pour tous les SPARQL endpoint
  • ang Sesame

    Éditeur : Aduna +
    Un framework d'analyse de données RDF en Java.

    ang Thymeleaf

    Éditeur : Daniel Fernández +
    Thymeleaf est un moteur de template écrit en Java.

    ang Mise en page des composants JavaFX utilisant les Panes à Layout avec FXML sous Scene Builder

    Licence : Libre
    Ce code source est un exemple d'utilisation des Panes à Layout pour faire la mise en page des composants JavaFX.

    L'objectif c'est de résoudre le problème de dimensionnement et de redimensionnement automatique des composants au moment de changement des dimensions de la fenêtre principale.

    Je tiens à souligner, que pour ces cas de mise en page dont le dimensionnement et redimensionnement doivent être en harmonie avec tous les composants, de la scène, alors on peut facilement régler cela avec Scene Builder sans avoir besoin à personnaliser des styles CSS, ou même modifier les propretés de dimensions et autres.

    La sourie toute seul peut suffit à un très grand niveau pour la mise en page et positionnement des éléments, les liant entre elles, mais juste avec quelques astuces à prendre en considération.

    Avant tout, il y a un principe à ne pas toujours oublier (qu'on travail avec en html par exemple), c'est que tout composant qui est sensé changer de dimension ou position si on redimensionne le reste ou la fenêtre, alors il doit être en position absolue dans son conteneur et son conteneur doit l'être, et ainsi de suite jusqu’à la fenêtre principale.

    Alors, en FXML ce n'est pas qu'on besoin de préciser position:ablsolute sur les fichiers CSS, non et non.

    La bonne pratique est d'exploiter la puissance Panes à Layout qui sont fait pour la mise en page, ceci en choisissant le bon Pane.

    Sans modification de CSS (sauf pour spécifier une couleur d'un seul composant), ni modification du code FXML , ni du Java, Voci un exemple qui a permis en créant une fenêtre d'avoir en bref le résultat qui suit en moins de 10 minutes:

    • un Menu Bar placé en haut, dont la largeur se redimensionne avec la fenêtre, par ce qu'il est lié avec.
    • un Tool Bar, en haut aussi, qui se colle au Menu Bar avec hauteur personnalisé à la sourie, mais avec le même comportement que le Menu Bar en largeur
    • un Scroll Bar placé à droit, juste dans le coin, dont la hauteur peut se redimensionner avec celle de la fenêtre
    • un Tabed Pane qui prend le reste de l'espace de la fenêtre, après ce qui est cité en haut, et se peut redimensionner aussi avec la fenêtre
    • à l'intérieur Tabed Pane , le premier Tab(c'est à dire le panneau container ), contient un Anchor Pan avec une hauteur personnalisé avec la sourie, mais la largeur est lié à celle du panneau contenu du premier Tab, du coup il peut se redimensionner avec si on agrandi la fenêtre. J'ai modifié juste la couleur a vert avec CSS pour pouvoir le voir, et le connaitre en cas de changement de dimension. On a ajouté un Label et un TextField à l'Anchor Pane, qui vont gardé leurs distance de gauche, au cas où la fenêtre s'agrandit
    • on a placé un Table View qui prend le reste de l'espace d'en bas à l'intérieur du du panneau container du premier Tab, c'est à dire en bas du Anchor Pane


    Vous pouvez visualiser le résultat avant et après redimensionnement des fenêtres, en consultant les images en pièce jointe
    Je vais expliquer comment j'ai fais et le code source est disponible.

    Pour arriver de cette fin on a en joué avec les différents Panes à Layout, et la bonne pratique selon moi pour une scène pareil, c'est d'avoir une scène dont la racine(root) est un Border Pane. On a commencé avec : File->New with Root Container->Broder Pane

    Pour rappel un Border Pane laisse bien les éléments containers s'adapter aux dimensions du Border Pane, mais en lui précisant si on veut l’élément d'en haut , bas, gauche, droite et centre.

    Je veut dire par container un noeud qui est censé en général contenir d'autres noeds même s'ils sont des contrôles, dont par défaut le contexte de largeur et de hauteur sont dynamiques comme les Pane et les Chart, Table View, Web View... ou dont par défaut le contexte de largeur seulement est dynamique comme les Tool Bar, Menu Bar, Scroll Bar horizontales, ou dont par défaut le contexte de hauteur seulement est dynamique comme les Scroll Bar vertical, Séparator vertical... Je désigne un élément à contexte de dimension fixe, les éléments qui sont censés par défaut avoir des dimensions fixes comme les boutons...

    Sur un Border Pane tout éléments va se comporter selon son contexte, mais selon le contexte de la place choisit (haut bas,centre..).

    Les éléments placés à gauche et à droite, se collent respectivement au coins gauche et droit , seul le contexte de hauteur dynamique est prise en compte ici, les éléments prennent toute la hauteur du Border Pane excepté les espaces occupés par des éléments de haut et bas. La largeur dépendra de nous, ou celle par défaut.

    Par contre les éléments d'en haut et d'en bas prennent toute la largeur en laissant aucune espace, c'est le contexte de largeur qui est prise en compte ici, la hauteur des éléments reste par défaut ou on le personnalise. Le contexte de largeur reste dynamique bindé avec celui de la largeur du Border Pane.

    L’élément du centre du Border Pane, prend le reste de l'espace en hauteur et en largeur, si l’élément possède à la fois un contexte de largeur et de hauteur dynamiques. Si on insère un seul élément au centre du Border Pane, alors ce dernier va se comporter comme un Stake Pane, il va bindé ses dimensions au dimensions du container, en fonction du contexte. Un élément à contexte de dimension fixe serait rangé au centre.

    Revenons à présent à notre exemple, le root est un Border Pane, pour pouvoir placer les deux élément Menu Bar et Tool Bar en haut, je ne peux pas les déposer tous les deux directement en haut du Border Pane, car c'est une place pour un élément, alors il me faut un panneau à contexte de largeur dynamique qui sera bindé automatiquement avec la largeur du Border Pane. Alors le candidat c'est le VBox(son contraire c'est HBox), c'est ça sont travail. On le glisse on le dépose en haut du Border Pane.

    On glisse et on dépose les deux Bar sur le Vbox, ils prendrons automatiquement toute la largeur du VBox, si on veut, on peut modifier la hauteur du Tool Bar, au cas où on veut mettre de grands boutons ou icones dessus et puis avec la sourie on agence la hauteur du VBox, pour correspondre exactement à la hauteur des deux Bar, sauf si on veut laisser de l'espace entre le Tool Bar et l’élément du centre du Border Pane. La hauteur du VBox restera tel qu'on l'a laissé même si on redimensionne la fenêtre.

    A droite, on a seulement un Scroll Bar à placer, alors on peut le déposer directement à droite du Border Pane, il ira au coin droit, prendre toute la hauteur du Border Pane en soustrant celle du Vbox.

    Bon, on a pas mis quelque chose à gauche dans notre exemple, mais on pourrait le faire, en mettant un Tree View ou List View..qui prendrait toute la hauteur, mais la largeur c'est à nous de fixer.

    Pour l'espace restant après insertions de nos éléments on glisse et on dépose un Tabed Pane au Centre du Border Pane, c'est un élément à contexte de hauteur et largeur dynamique alors, il va prendre toute l'espace, même l'espace de l’élément gauche et en bas, vides.

    Alors on veut à présent insérer un panneau Anchor Pane et un Table View sur le contenu du premier Tab de notre Tabed Pane, mais attention, on veut que les deux aussi suivent le redimensionnement du Tabed Pane, qui lui suit le Border Pane. Mais comment faire ?!!

    Astuce

    On supprime d'abord l'Anchor Pane qui vient par défaut, qui représente le container du premier Tab

    L'Anchor Pane ne va pas binder ses dimensions à celles du Table View et du Anchor Pane qu'on veut insérer, certes l'Anchor Pane est bindé au Tabed Pane, mais il ne peut pas automatiquement binder ses enfants

    Que ce qu'on insère? Et bien on ne peut pas utiliser un Vbox, car au dimensionnement il y aura de la place restante en bas, un HBox, c'est le côté droit qui restera vide. Alors ?

    Et bien, on revient sur notre ami Border Pane, on le glisse et on le dépose sur le premier Tab du Tabed Pane, Après on insère l'Anchor Pane en haut du Border Pane, on fixe la hauteur qu'on veut avec la sourie, si on veut.

    Mais attention, il va falloir décider sur l'avenir du Table View, car si vous l'insérez en bas, au dimensionnement, sa hauteur restera intacte, c'est le Anchor Pane qui sera le maître à prendre toute l'espace disponible, mais par contre si vous déposez votre Table View au Centre, la hauteur du Anchor Pane restera fixe, au dimensionnement de la fenêtre, le Table View prendra l'espace disponible et c'est le cas de notre exemple.

    J'ai juste modifié la couleur de l'Anchor Pane pour pouvoir l'observer en précisant sur son style : -fx-background-color:green; J'ai après ajouté un Label a couleur blanche et un Text Field vous savez tous ça. Voici la fin de notre travail.

    Une question se pose, mais quand on redimensionne la fenêtre le Table View n'organise pas ses colonnes pour suivre sa largeur qui a augmenté. Comment faire ? On l'a pas fait sur le code de notre exemple. Mais Là à présent il faudra jouer avec CSS ou du Code Java.

    Astuce

    En java on définit la largeur de chaque colonne, quand vous allez définir les contenus de vos colonnes n'oubliez pas de préciser pour chaque colonne le pourcentage devant les autre comme ça:
    col1.setPercentWidth(25);

    ang pascal

    Éditeur : pascal +
    pascal

    ang RegexBuilder

    Éditeur : Markus Renschler + 32 Ko
    RegexBuilder est un petit outil qui aide à tester ses expressions régulières et qui permet de les adapter rapidement afin d'obtenir le résultat escompté.

    Rem : RegexBuilder est un nom donné à plusieurs outils différents par des éditeurs différents, mais qui font sensiblement la même chose. L'un vaut-il mieux qu'un autre ? Je ne peux que vous conseiller de les tester tous et de vous forger votre propre opinion.

    ang Yawl

    Éditeur : Yawl Foundation + 89 Mo
    Yawl (Yet Another Workflow Language) est un gestionnaire de flux (BPM/Workflow).

    Basé sur un langage de modélisation concis et puissant, Yawl manipule des données complexes, des transformations, l'intégration avec les ressources d'organisation et l'intégration de WebService. Construit en Java, il emploie le schéma natif de XML et de XQuery.
    L'application est divisée en plusieurs entités (moteur, moniteur, gestionnaire d'erreurs, ressources, ...) et permet l'ajout de modules externes (Codlet, Worklet, WebService).

    Yawl offre les services suivants :
    • Un éditeur de flux graphique (drag and drop) avec paramétrage direct.
    • L'utilisation de XML Schema, de XPath et de XQuery.
    • Des interfaces (API) internes/externes.
    • Un gestionnaire de règles et de contraintes.
    • Un gestionnaire d'exceptions.
    • L'approche de Worklet pour un flux dynamique.
    • Une interface Web d'administration
    • ...

    ang JConfig

    Éditeur : Samizdat Productions +
    JConfig est une API fournissant quelques possibilités supplémentaires par rapport au JDK : informations étendues sur les fichiers (types des disques, dates de création, points de montage, etc.) et les processus, possibilité de lancer automatiquement le navigateur du client, etc.

    ang JPooler

    Éditeur : Cristiano Sadun +
    JPooler permet d'observer un ou plusieurs répertoires, permettant de réagir à l'apparition de nouveaux fichiers ou à la disparition de certains.

    ang Jena

    Éditeur : Openjena + 23.3 Mo
    Il fournit un environnement de programmation pour RDF, RDFS, OWL et SPARQL et inclu aussi un moteur de règles d'inférence.

29 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula