Java

Ajouter un nouvel élément

Les performances du mois

NetBeans
2
NeoMAD
1
JavaExe 3.1
3

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 É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 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 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.

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 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 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 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 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 TDB

Éditeur : Openjena + 12.6 Mo
On peut accéder à un magasin TDB et l'administrer avec des scripts en ligne de commande ou bien par l’intermédiaire de l'API Jena.

C'est une implémentation native : il ne se base pas sur une base de données relationnelle.

ang SDB

Éditeur : Openjena + 15.0 Mo
Contrairement à TDB, le stockage est assuré par une base de données SQL, de nombreux moteurs étant compatibles (à la fois open source et propriétaires).

ang Fuseki

Éditeur : Openjena + 36 Ko
Il fournit la mise à jour par REST SPARQL HTTP et des requêtes SPARQL et les requêtes et mise à jour SPARQL par l'intermédiaire du protocol SPARQL par HTTP.

ang Joseki

Éditeur : Openjena + 13.3 Mo
Joseki permet d'extraire des données RDF d'une base de donnée ou d'un fichier RDF et implémente HTTP par l'intermédiaire des méthodes GET et POST pour le protocole SPARQL.

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 Elda

    Éditeur : Epimorphic + 23 Mo
    Elda est une application web mettant en oeuvre l'api linked data. La configuration consiste a définir une spécification liant des url d'invocation, des requêtes sparql de requêtage des données sémantiques et des représentations.

    25 éléments

     
     
     
     
    Partenaires

    PlanetHoster
    Ikoula