IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Handle, HDC and friends


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut Handle, HDC and friends
    Je voulais savoir si il existe (et comment les recuperer) un equivalent aux Handle et autres HDC de composant graphiques ....

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En version plus simple, quel comportement cherches tu à réaliser pour tes composants? (Désolé l'API win32 et moi ça fait 2)

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    (Désolé l'API win32 et moi ça fait 2)
    Ca tombe bien, c'est pas de l'API Win32 dont j'ai besoin ... ca c'est mon domaine

    Donc clairement je cherche a acceder au "handle" d'une form pour y dessiner dessus.
    Le but (un peu fou) serais de transmettre cette valeur a une dll c++ (ou delphi dans un premier temps) qui s'en servirais pour initialiser un moteur 3D et y effectuer un rendu. A cours terme j'envisage de piloter une librairie 3D basé sur directX actuel depuis un programme java au travers d'une dll delphi. A plus long terme la dll sera recode en C++ et apres coup deplacé vers une API OpenGL pour maintenir une compatibilite Windows/Linux voir meme Mac.

    C'est ce que j'appelle une migration "en douceur"

    Ce projet peut etre fou .... mais, meme dans le cas ou il est irrealisable ou simplement inexploitable, j'aurais eu au moins l'occasion de soulever suffisement de problemes techniques pour posseder une bonne connaissance generale du langage.

    quitte a apprendre un nouveau langage java, autant aller a l'essentiel et taquiner ses entrailles

    Les tutos "HelloWorld" c'est pas mon truc :p

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah j'ai bien peur que tu doives bouffer du JNI dans tous les sens dans ce cas. Car java et l'interaction avec l'OS hôte ne sont en général pas e grands potes.

    Donc en ce qui concerne la logique de ton appli ça peut être réalisé coté java, mais ensuite en ce qui concerne la communication avec l'OS tu devras plus que probablement écrire ça en C++ et/ou Delphi.

    Pour te faire une idée de ce qu'est JNI: http://www.javaworld.com/javaworld/j...ni.html?page=1
    Ainsi que le tuto de Sun:
    http://java.sun.com/developer/online...CBook/jni.html




    Ce ne sont pas de simples helloworld, même s'il est sur qu'ils ne vont peut être pas aux bas fonds du bestiau.

    Penses également à regarder les ressources présentes en base des 6 pages

    Mais bon avec tout ça ce que tu feras en java pur devrait être relativement simple et le gros du travail sera réalisé en C++ ou delphi


    Une autre alternative serait d'attaquer directement OpenGL en java avec JOGL (bindings java/OpenGL) ou des surcouches comme JMonkeyEngine

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par sinok
    Bah j'ai bien peur que tu doives bouffer du JNI dans tous les sens dans ce cas. Car java et l'interaction avec l'OS hôte ne sont en général pas e grands potes.
    En fait non .... je ne pense pas autant que ca.
    Sous un systeme win32 il me suffit juste du handle de l'objet qui sert de zone de rendu.
    Donc en gros, la seule info que j'ai a transmettre de Java vers la dll est cette "form".
    Bon apres j'ai quelques apis de pilotages pour connecter le GUI java a ma Dll (load object, load file, etc ...) le classique quoi.
    Ca reste des string, des int, des trucs pas tres complexe.

    Citation Envoyé par sinok
    Donc en ce qui concerne la logique de ton appli ça peut être réalisé coté java, mais ensuite en ce qui concerne la communication avec l'OS tu devras plus que probablement écrire ça en C++ et/ou Delphi.
    C'ets prevu. Java ne s'occupe que du GUI.
    Meme si c'ets de l'interpreté, je suppose que les objets graphique se repose sur des objets systeme non ? c'ets pas du "TOUT" interprété ?
    Je suppose que la jvm sert de wrapper entre le systeme et les byte code java ?
    Donc l'objet graphique devrait avoir une existance propre aupres du systeme .. donc quelque part un handle ... non ?

    Citation Envoyé par sinok
    Oui je viens de voir 2, 3 sites et fait des tests. Je comprends pas trop mal le systme de base ...



    Citation Envoyé par sinok
    Ce ne sont pas de simples helloworld, même s'il est sur qu'ils ne vont peut être pas aux bas fonds du bestiau.
    facon de parler
    Disons que je ne suis pas du genre a me frapper les tutos de base exercices par exercices ... mais plutot partir sur un projet et chercher les infos dont j'ai besoin au fil du code. Quite a ce que ce soit la gestion des stream, ou autres truc assez complexe.

    Citation Envoyé par sinok
    Mais bon avec tout ça ce que tu feras en java pur devrait être relativement simple et le gros du travail sera réalisé en C++ ou delphi
    Oui, toute la partie gestion 3D. d'ailleur question perfs ca devrai etre prefereable non ?

    Citation Envoyé par sinok
    Une autre alternative serait d'attaquer directement OpenGL en java avec JOGL (bindings java/OpenGL) ou des surcouches comme JMonkeyEngine
    bien ! je vais voir ca
    Par contre je suis une quiche en 3D ... c'est mon taff qui veux ca
    Donc si possible j'aimerais des libs un peu complete, genre "Mesh.LoadFile" et non comme je l'ai vu sur certains tutos OpenGL : creer son fichier et charger son mesh point par point, face par faces ..... :'(
    Plus des trucs galeres comme le rendu des ombres, la transparence, etc ....

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bon en fouillant un peu j'ai trouvé quelquechose qui ressemble à ce que tu cheches, en passant par JNI et JAWT

    http://www.javaworld.com/javaworld/j...javatip86.html
    http://java.sun.com/j2se/1.5.0/docs/...Interface.html

    Par conter ça a l'air relativement limité. Enfin à voir.

    Sinon niveau 3D en java pur tu gagneras en simplicité à passer par un Scénographe comme JMonkeyEngine. Ensuite je ne suis pas expert en la question.

    En ce qui concerne les perfs, tout dépend du coût de la tâche que ntu as à réaliser, si tu es sur d'avoir un gain de perf appréciable avec JNI, dans ce cas vas y, si le gain de perf est minimal autant éviter de se faire ch*** pour rien car JNI peut être un peu touchy par moments, en particulier vis à vis du GarbageCollector.

    A toi de voir ensuite.
    Mais je ne comprends toujours pas pourquoi il te faut absolument le Handle de ta fenêtre java, car tous les processus de communication et de threading peuvent se faire à travers JNI. A moins de vouloir dessiner directement sur ta fenêtre java...

Discussions similaires

  1. imrect and handle
    Par soeursourire dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/11/2010, 17h26
  2. WAS "Unable to read and handle request"
    Par 1ereClasseTac dans le forum Websphere
    Réponses: 4
    Dernier message: 22/02/2010, 15h09
  3. Parallel handle external method activity and call external method activity
    Par gophette dans le forum Windows Workflow Foundation
    Réponses: 0
    Dernier message: 15/07/2009, 10h01
  4. file handling and URl
    Par fouadz dans le forum Applets
    Réponses: 2
    Dernier message: 12/02/2007, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo