p>
J'ai hérité de développement d'une application Java / SWT fonctionnant uniquement sur Windows. Une des demandes de fonctionnalités que je dois avoir une portée est une barre de titre de type Google-Chrome à la place de la barre de titre Windows SWT Windows. Les onglets de l'application apparaissent au même niveau que les boutons de commande de la fenêtre. P>
Ma compréhension est que je devrai: P>
J'ai beaucoup d'expérience avec la programmation Java, la programmation d'interface graphique avec Swing / AWT et la programmation non-GUI C #. La programmation GUI Windows et SWT sont neuves pour moi, donc je ne sais pas où commencer. Le meilleur que j'ai trouvé jusqu'à présent est un article de 2001 sur Écrire votre propre widget SWT . p>
Mon plus grand inconnu est le meilleur moyen d'implémenter une fenêtre d'application Windows personnalisée. P>
3 Réponses :
Vous pouvez créer une instance shell sans indicateur de titre, puis rendu manuellement des onglets de type Google-Chrome. De cette façon, vous pouvez même créer un Windows non rectangulaire p>
Lorsque vous traitez des choses qui ne sont pas encore dans la couche JNI de SWT, vous devriez toujours vous rappeler que vous pouvez rapidement prototyper des choses avec JNA . Lorsque le prototype de la JNA, vous pouvez également étendre l'interface native de SWT ou créer votre propre couche JNI distincte (il s'agit d'une approche qui a bien fonctionné pour moi un certain nombre de fois lors de la gestion des widgets SWT carbone / cacao) P>
Je recommande de créer une coquille sans garniture comme: Ceci créerait une coque sans la barre de titre. Ensuite, vous pouvez faire vos propres boutons de fermeture / minimiser / maximiser. P> Voici un exemple qui reproche une barre de progression solitaire sans le titre de la barre de titre. p> p>
La façon dont je comprends bien, c'est qu'il serait presque impossible de le faire avec SWT car SWT est à peu près l'outil de graphique la plus plate-forme-agnostique, et donc le plus standardisé. Une interface graphique comme chrome nécessite une interface beaucoup plus directe avec le système d'exploitation, car elle n'utilise pas d'éléments d'interface graphique Standard OS. Vous devrez effectivement écrire votre propre gestionnaire d'onglet (et probablement de fenêtre).
@HALFBRIAN: En fait, Swing est la plus grande plate-forme agnostique car elle rend tous les composants en soi, tandis que SWT utilise les composants du système d'exploitation. Naturellement, cela ne fait pas le reste de votre commentaire moins vrai :)