2009-09-22 4 views
2

Je travaille sur un programme qui agit comme un lanceur pour d'autres programmes. Il est possible qu'il y ait plus de 20 fenêtres affichées au démarrage. Je voudrais spécifier l'espace de travail sur lequel le programme s'ouvre, alors qu'il est déjà possible de démarrer le programme sur un certain espace de travail, j'ai besoin d'une liste des espaces de travail disponibles dans mon lanceur pour que l'utilisateur puisse choisir argument de ligne de commande pour les processus quand ils sont démarrés. Est-ce possible? Si cela fait une différence, c'est sur Java Desktop Environment.Obtenez une liste des espaces de travail de bureau en Java

Si ce n'est pas possible en Java, est-ce possible dans une autre langue? Je pourrais alors exécuter cela à partir de Java et utiliser sa sortie pour produire la liste.

Répondre

0

Réponse générique: regardez le code chargé de lancer le programme sur un certain espace de travail. Regardez les documents API des classes utilisées par ce code - vous avez une bonne chance de trouver ce que vous cherchez là-bas. Ce sera probablement une classe spécifique à JDE, car je ne pense pas que l'API standard Java ait du tout le concept d'espaces de travail.

+0

Je viens de découvrir que ce code ne marche plus non plus. Il a été écrit il y a des lustres quand nous utilisions encore l'environnement de bureau commun, je l'ai chargé à nouveau ça a marché mais ça ne marche pas dans JDE. On dirait que je suis de retour à la case départ. –

2

Ce ne sera pas facile. Vous aurez probablement besoin de trouver un programme C qui fait ce que vous voulez, puis traduire tous les appels à JNI. Vous pourriez chercher une bibliothèque Java qui fait déjà le JNI pour vous - mais alors vous êtes à la merci des développeurs de la bibliothèque. Je préfère posséder ce genre de chose en interne.

De même, en général, c'est le genre de chose qui devrait être faisable grâce à la configuration de votre gestionnaire de fenêtres - aucun codage impliqué. Peut-être que si vous pouviez trouver le bon fichier de configuration, vous pourriez simplement l'ouvrir, écrire une ligne indiquant où placer votre application puis la refermer.

Questions connexes