Outils Java

Ajouter un nouvel élément

Les performances du mois

JavaExe 3.1
2
NeoMAD
1
Doxygen
3

ang NeoMAD

Éditeur : Neomades +
NeoMAD, plateforme de développement d'applications/jeux pour mobiles. Il permet aux développeurs de créer à partir d’un code unique (Java) une application native sur les différentes technologies mobiles (iOS, Android, Windows Phone 7.1, BlackBerry, JavaME, Bada, Symbian...) en respectant le look et l'ergonomie.

Le résultat obtenu est identique aux développements natifs de chaque cible.

Plusieurs fonctionnalités font sa force : chaîne de compilation unifiée, compilation conditionnelle, intégration code natif, génération de projet natif, pilotage simulateurs, plugins pour Eclipse et NetBeans etc...

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 TopBraid Composer Free Édition

Éditeur : TopQuadrant +
TopBraid Composer Free Edition est un écosystème sémantique de développent d'ontologies. Chapoté par l’IDE Eclipse, TBC offre à l’ingénieur ontologique un environnement textuel et graphique d’édition d’ontologie et offre un certain accès à un mécanisme de raisonnement.

ang RegexSR

Licence : Autre
RegexSR est un utilitaire très facile d'utilisation (écrit en Java) pour créer et tester des expressions régulières complexes. Le système de plugin offre des fonctionnalités supplémentaires, comme transformer une expression en code Java, et permet de créer ses propres extensions. Parmi les fonctionnalités on notera le test d'expressions régulières, la manipulation de texte à l'aide d'expressions ou des plugins, le renommage massif de fichiers, le développement de plugins personnels, et la gestion des expressions dans les archives.

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 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 Google Drive

Éditeur : Google +
Tout comme Chrome (disponible pour iOS) et tout comme les Google Maps (accessibles hors-ligne sur Android), Google Drive – le service de stockage qui chapeaute à présent Google Docs – est disponible offline et sur les terminaux mobiles d'Apple.

Hors-ligne. Ce qui signifie que l’utilisateur peut « créer et éditer des documents ou laisser un commentaire. Tous les changements seront automatiquement synchronisés dès que vous vous reconnectez ».

Une fonctionnalité qui ne marche en revanche qu’avec la dernière version de Chrome.

En étant disponible à présent sur iOS (version 5.0 et ultérieures) Google Drive fait une attaque frontale à iCloud. Le mouvement est en tout cas d’importance et contrairement à Chrome pour iOS – qui n’est pas encore téléchargeable et qui sera certainement plus lent que Safari – l’application Drive, elle, est déjà référencée et bel et bien prête dans l’AppStore.

A noter, côté développeurs, qu’un nouveau SDK est également disponible (pour .NET, Java, JavaScript, Go, PHP, Python, Ruby… et Objective-C) pour interagir (lire, créer, modifier, etc.) avec des contenus hébergés sur Drive depuis une application.

ang Sencha Cmd

Éditeur : Sencha +
Ce SDK propose une série d'outils performants qui automatise une grande partie de la création de vos applications. Ces outils s'ajoutent aux frameworks Ext JS (pour la partie JavaScript) et Sencha Touch (pour la partie mobiles).

ang Google Web Toolkit

Éditeur : Google +
Framework de développement Open Source permettant de créer des applications JavaScript complexes en utilisant le langage et les outils Java. Il est utilisé en interne par l’éditeur pour le développement de plusieurs de ses produits comme la plateforme publicitaire AdWords et le réseau social Orkut.

GWT apporte comme nouveauté phare la fonction Super Dev Mode. Cette fonction qui remplace Development Mode permet aux développeurs de rapidement recompiler leur code et voir le résultat dans un navigateur. Elle permet également d’utiliser un débogueur pour contrôler une application GWT en cours.

L'outil apporte de nouvelles optimisations au compilateur GWT, qui permet une réduction de près de 20% de la taille du code généré.

Le compilateur GWT peut désormais utiliser « Closure Compiler » afin de fournir des optimisations JavaScript supplémentaires. Les gros projets qui utilisent Code Splitting et qui ont de nombreux points de partage peuvent profiter de Fragment Merging, qui permet au compilateur de fusionner automatiquement des fragments et réduire la taille de ceux-ci.

ang JavaSearch

Éditeur : Laurent PERRON +
L'outil JavaSearch permet de lancer des recherches par mots clés sur la documentation des APIs Java SE 6.0, Java SE 5.0, J2SE 1.4.2 et Java EE 5.0.
C'est l'outil indispensable pour tous les développeurs Java qui doivent retrouver rapidement la documentation sur une méthode, une classe ou un package. Ultra rapide et pertinent, cet outil de recherche inclu également la version en ligne intégrale et à jour de la JavaDoc de l'API Java J2SE 1.4.2.
Simple d'utilisation, très rapide et complet : c'est l'outil idéal pour développer en Java.

ang LogMX

Éditeur : LightySoft +
LogMX est un outil multiplateforme pour les développeurs et les administrateurs qui travaillent avec des fichiers de log et de traces. Il permet de visualiser le contenu des fichiers de log et de les filtrer.

11 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula