Bonjour à tous,
Je cherche le moyen de remettre au 1er plan une application externe lancée par mon code java. En fait, j'ai réalisé vite fait une petite application graphique contenant 1 bouton ; en cliquant sur ce bouton, cela lance une application externe (excel dans l'exemple qui va suivre). Ce que je voudrais faire c'est qu'en cliquant sur le bouton une seconde fois, au lieu de relancer une seconde fois l'appli, que l'application externe revienne au premier plan.
Il y a bien la méthode Window.toFront() mais comme il s'agit d'une application externe, la "window" n'est pas un objet java. Avec la méthode Runtime.getRuntime().exec(), je récupère un objet de type Process avec lequel je peux communiquer via des flux entrants ou sortants.
Voilà, je suis donc complètement bloqué sur ce point là. Voici le code "faisant le travail"
Quelqu'un a-t-il une piste, une idée, svp ?
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import javax.swing.JButton; public class Controller implements ActionListener { private Process process = null; public void actionPerformed(ActionEvent event) { if (((JButton)event.getSource()).getName().equals("button1")) { try { if (process == null) { process = Runtime.getRuntime().exec("cmd /C start excel"); } else { // to front System.out.println("process to front"); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
Partager