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

Java Discussion :

Service Java pour gérer un second écran


Sujet :

Java

  1. #1
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 207
    Points : 133
    Points
    133
    Par défaut Service Java pour gérer un second écran
    Bonjour,

    J'aimerais développer un petit service qui fait défiler différente pages Web sur un écran (connection HDMI).

    Le but est de ne pas monopoliser la machine pour cela. L'idée est donc des créer un service Windows transparent qui n'influe pas le travail de l'utilisateur.

    Pour cela je pensais utiliser les objets GraphicsEnvironment, GraphicsDevice and GraphicsConfiguration, fournis par Java.

    Cependant j'ai lu dans la FAQ Java, qu'il n'était pas possible d'afficher d'interface graphique en java. J'ai vu cela à cet endroit .

    Du coup, peut-on faire un service en java qui affiche des données sur second écran de l'ordinateur (genre TV) sans perturber l'utilisateur standard (celui qui utilise l'écran d'origine) ?

    Merci à ceux qui pourront m'apporter des réponses.
    @@++

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Utiliser le second écran doit revenir à positionner ta fenêtre au bonnes coordonées que tu dois pouvoir récupérer via les classes que tu as cité.

    Tu as d'ailleurs un exemple dans la javadoc de GraphicsDevice :

    In a multi-screen environment, the GraphicsConfiguration objects can be used to render components on multiple screens. The following code sample demonstrates how to create a JFrame object for each GraphicsConfiguration on each screen device in the GraphicsEnvironment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    GraphicsEnvironment ge = GraphicsEnvironment.
       getLocalGraphicsEnvironment();
       GraphicsDevice[] gs = ge.getScreenDevices();
       for (int j = 0; j < gs.length; j++) { 
          GraphicsDevice gd = gs[j];
          GraphicsConfiguration[] gc =
     	gd.getConfigurations();
          for (int i=0; i < gc.length; i++) {
             JFrame f = new
             JFrame(gs[j].getDefaultConfiguration());
             Canvas c = new Canvas(gc[i]); 
             Rectangle gcBounds = gc[i].getBounds();
             int xoffs = gcBounds.x;
             int yoffs = gcBounds.y;
    	   f.getContentPane().add(c);
    	   f.setLocation((i*50)+xoffs, (i*60)+yoffs);
             f.show();
          }
       }
    Pourquoi faut-il absolument que tu projet soit un service ?
    Ne peux tu pas avoir un service sans interface, avec une autre application dotée d'une interface et qui communique avec ce service ?

  3. #3
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    C'est justement l'idée !

    Avoir un service sans interface qui permettent d'affichier des données sur le second écran et paramétrer se service via un fichier de configuration.

    Seulement dans la FAQ, ils disent :
    A noter toutefois qu'il n'est pas possible d'avoir une interface graphique pour une application java qui tournerait comme un service.
    Ma question est de savoir si cette phrase sous entend qu'il n'est pas possible d'afficher quoi que se soit à l'écran ce qui exclurait l'utilisation de la librairie GraphicsDevices ! En fait je ne comprends pas bien l'étendue de cette phrase.

    Le service est là pour que l'application puisse fonctionner même si aucun utilisateur n'est connecté à la machine et que malgré cela le service tourne (genre au démarrage de la machine) pour afficher les informations sur le second écran.
    @@++

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Si la deuxième application n'est pas un service, tu n'as pas de problème. Non ?

  5. #5
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    En fait je ne vois pas l'utilité de faire une deuxième application si ce n'est pour alimenter le fichier de configuration qui paramètrera le service.

    En fait, la question est de savoir si techniquement un service java peut afficher des données sur un ecran (secondaire, genre TV sur HDMI) alors qu'aucune session utilisateur n'est ouverte ?
    @@++

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Un service Java ne peut pas avoir de GUI. Il ne peut rien afficher. C'est le cas pour n'importe quel autre service.
    Je ne retrouve plus le post, mais il y a eu une discussion la-dessus il y a quelques mois.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Seboubou86 Voir le message
    Avoir un service sans interface qui permettent d'afficher des données sur le second écran
    Tu devrais te rendre compte par toi même que cette demander est auto contradictoire! Un service (java ou autre) ne peux rien afficher. Seule les application ouvertes dans l'instance de l'utilisateur peuvent afficher.

    De mémoire ce n'est pas exactement vrai, les services affichent sur un bureau que personne ne vois et ne verra jamais car lié à aucun utilisateur En pratique, le résultat est le même :p

  8. #8
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    A première vue oui. C'est qu'est tout le problème.

    Si le service peut "s'approprier" la deuxième sortie écran et la rendre inaccessible à l'utilisateur courant et à toute autre application. Ne serait-il pas possible d'afficher sur cet écran.

    A première vue, je dirais qu'il faut passer par un drivers spécial...

    C'est justement pour cette raison que je post sur ce forum. Pour savoir si quelqu'un à déjà fait sa et si c'est possible malgré les limitations des bases.
    @@++

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Je ne suis au courant d'aucune application qui fasse cela et même si il était possible de bidouiller pour y arrvier, ça ne serait pas en java.

  10. #10
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    Ok.

    Merci de vos réponse.

    Vu que cette discussion n'a plus rien à faire sur le forum Java, je vais la clore et je reposterais dans un forum adéquat ci nésessaire.
    @@++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/11/2014, 18h00
  2. applicatifs java pour tests web services
    Par godzizou dans le forum Services Web
    Réponses: 3
    Dernier message: 01/02/2008, 10h31
  3. Réponses: 2
    Dernier message: 20/11/2007, 16h00
  4. Web services JAVA ORACLE pour MVS DB2
    Par Samuel25_t dans le forum Services Web
    Réponses: 5
    Dernier message: 06/06/2007, 11h45
  5. Réponses: 1
    Dernier message: 12/02/2007, 15h22

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