Interface graphique java swing

Fermé
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008 - 28 juil. 2008 à 15:54
 ghtelec - 7 déc. 2011 à 14:32
Bonjour,

je suis debutante en java et j ai une question c est la suivante en faite je dois faire une interface graphique dont la premiere fenetre contient des boutons et chaque bouton doit donne accee a une autre fenetre c est une pqge web qui contient des graphes aider moi svp a faire cette etape basic

merci d avance
A voir également:

43 réponses

sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
28 juil. 2008 à 18:06
Salut,

Rajoute cette classe à tes sources: http://www.koders.com/java/fid15B9055DAB0D5DCBFA69126199884C931E645551.aspx?s=mdef%3Acompute

Par la suite, lorsque tu veux ouvrir une page Web à partir d'un bouton en Swing, tu rajoutes un ActionListener et dans l'actionPerformed tu écris qqch du genre

BrowserControl.displayURL("http://ta_page_web_correspondant_au_bouton_en_cause");

Ceci ouvrira la page dans le navigateur par défaut sur la machine.
++
3
hamza_bba Messages postés 78 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2008 à 15:58
Tu peu facilite les choses par une IDE (il exsite beaoucoup certain sont gratuit : netbeans, eclipse ... ).

2
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
28 juil. 2008 à 16:04
bonjour hamza efectufement je suis sous eclipse et je utilise swing
mais je suis debutante mais je sais que c est facile normalement
0
hamza_bba Messages postés 78 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 6 août 2009 1 > lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
28 juil. 2008 à 16:11
Moi je tu consielle d'utilisé netbeans il est plus facile pour debuté, en fait j'ai pas bien compris ce que vous voulez , es a partir d'une fentre swing donne l'accès a une page web (Cad par une URL ) c'est ca que vous voulez ?

0
salut j'ai besoin des coure sur les interfaces graphique en java sur netbeans et des exemples comme la calculatrice
et merci
0
Bonsoir.Moi en personne comme tu es débutant je te déconseille d'utiliser un IDE car c'est pas pour les débutants mais pour les pro.Je te conseille d'utiliser bloc note ,notepad++ ou un autre éditeur mais pas netbeans ou éclipse OK.bon courage
0
totalement débile ce que tu dis ngomsa, justement quand on débute il faut utiliser les IDE. Netbeans est le meilleur pour débuter
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
28 juil. 2008 à 17:43
en faite dans la premiere fenetre de l interface il ya des boutons et chaque bouton presante une page deriere donc en cliquant sur le bouton la fenetre deriere doit etre afficher voila et ces fenetre sons des pages html voila merci beaucoup

pour le netbeans moi je dois utilise visual editor
0
bounjour sandul

merci beaucoup pour votre aide j'ai fais le meme chose que vous m avais dit mais j'ai dse problemes
1 dans la classe BrowserControl il m a donne une erreur sur la premier ligne : package hero.client.grapheditor

2 si j excute mon programmme il me donne beauuuucouuup des erreurs comme ca


Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at hardware_monitoring$8.actionPerformed(hardware_monitoring.java:254)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.util.MissingResourceException: Can't find bundle for base name resources.Traduction, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1508)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1262)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:717)
at BrowserControl.<clinit>(BrowserControl.java:37)
... 26 more
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 12:09
Salut,

1 dans la classe BrowserControl il m a donne une erreur sur la premier ligne : package hero.client.grapheditor ==> normal, si tu n'as pas créé le package en cause (hero.client.grapheditor). Si tu as mis la classe BrowserControl dans ton package à toi (disons com.louloute.premierprojet :-D), il suffit de changer le code de la classe BrowserControl pour harmoniser tout cela (tu mettras donc package com.louloute.premierprojet; comme 1ère ligne de cette classe (dans notre exemple ci-dessus).

La deuxième erreur (à l'exécution) est probablement liée à l'erreur de compil.

Voilou,
++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
votre remarque est tres importante car moi je ne pas fais des packages mes clase sont dans le package par defaut donc je ne sais meme pas si je dois les creer ou non et comment si je dois le creer

et pour les erreurs de compilation c est vrais je bp dse erreur de compilation dans mais classe mais je sais pas comment je les corriges

merci bp et je suis desole pour mes questions debutantes car je suis debutante en java et je suis vraiment pas bien
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 12:55
votre remarque est tres importante car moi je ne pas fais des packages mes clase sont dans le package par defaut donc je ne sais meme pas si je dois les creer ou non et comment si je dois le creer
==> si pas de package, il suffit de supprimer la première ligne dans la classe BrowserControl (celle qui déclare le package).

Pour créer un package sous Eclipse: clic droit sur le projet/New/Package (tu as également un bouton de création de package dans la barre d'outils).

et pour les erreurs de compilation c est vrais je bp dse erreur de compilation dans mais classe mais je sais pas comment je les corriges Corrige d'abord l'erreur de package, ensuite poste tes autres soucis

++
0
merci beaucoup pour votre patience avec moi je sais que c'est pas evidant de expliquer a quelqu' un null !!!

j 'ai suprime la premiere ligne mais les erreurs sont toujour la

cordialement
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 15:26
j 'ai suprime la premiere ligne mais les erreurs sont toujour la : tu as encore des erreurs de compil? Dans la classe BrowserControl ou dans une autre classe? Si dans une autre classe, est-ce que c'est lié à BrowserControl ou pas? (Il suffit de double cliquer sur la ligne avec l'erreur dans l'onglet "Problems" dans Eclipse pour se positionner sur la ligne contenant l'erreur)

Si compil OK: copier ici le message d'erreur en entier obtenu à l'exécution

++
0
voila mes erreur de compilation qui se trouve dans les classes
pour la classe BrowserControl j'ai l'erreur suivante:
sur la veriable p qui se trouve dans la ligne suivante Process p = Runtime.getRuntime().exec(cmd); il donne l'erreur *The local variable pis never read* donne je decomanter la ligne et il est dusparie

et pour les autres erreurs de mes autre classe il me donne pour chaque classe le meme erreur c'est la suivante *The serializable class BuMoDe does not declare a static fina serialVersionUID field of type long*

et si je le execute et je clique sur la bouton pour laquele je veux qu'elle ma fiche la page html donc il me donne les erreurs suivant

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at hardware_monitoring$8.actionPerformed(hardware_monitoring.java:254)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.util.MissingResourceException: Can't find bundle for base name resources.Traduction, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1508)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1262)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:717)
at BrowserControl.<clinit>(BrowserControl.java:37)
... 26 more


voila merci beaucoup pour votre aide et patiance pour moi
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 16:07
OK, ce n'est pas si grave que ça.
sur la veriable p qui se trouve dans la ligne suivante Process p = Runtime.getRuntime().exec(cmd); il donne l'erreur *The local variable pis never read* donne je decomanter la ligne et il est dusparie: il ne s'agit pas d'une erreur (celle-ci sera avec une croix rouge dans l'onglet Problems), mais d'un Warning. Il peut être ignoré, on te dit que la variable p n'est pas lue, donc inutile dans le programme. Par contre, il ne faut pas pour autant supprimer la ligne entière. Tu as deux possibilités:
1. laisser comme ça (si par la suite tu comptes faire qqch avec la variable p), car on peut faire des choses avec un process obtenu après un appel à exec()
2. Modifier
Process p = Runtime.getRuntime().exec(cmd);
en
Runtime.getRuntime().exec(cmd);

The serializable class BuMoDe does not declare a static fina serialVersionUID field of type long ==> Encore un warning; tu peux l'ignorer ou déclarer un truc du genre
private static final long serialVersionUID = 1L;
dans ta classe avec l'erreur.

Les erreurs à l'exécution sont dues à l'absence des fichiers de traduction (on peut avoir une application internationale). Pour faire simple, faire ceci dans la class BrowserControl:
1. supprimer la ligne
static java.util.ResourceBundle resource = java.util.ResourceBundle.getBundle("resources.Traduction")/*#BundleType=...
2. remplacer le pavé
System.err.println(resource.getString("browsercontrol.error") +
                                       cmd + "'");
                    System.err.println(resource.getString("browsercontrol.caught") + x);

par un simple x.printStackTrace();
3. remplacer le deuxième pavé
            System.err.println(resource.getString("browsercontrol.notinvoke") + cmd);
            System.err.println(resource.getString("browsercontrol.caught") + x);

par x.printStackTrace();

++
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008 > sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010
30 juil. 2008 à 18:57
je voix plus les message a partir de lemessage 13
0
ok je changer les deux ligne mais il me donne le meme chose!!

peut etre mon probleme est plus semple donc moi je besoin de afficher des graphes sui se treouvent sur une page html en cliquant sur la bouton.

en faite le logicile zabbix fournie des graphes de monitoring des cpu, memoire ....
et moi je veux que apartir de mon interface graphique je affiche les graphe dans une page de mon interface graphique

merci a votre aide
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 17:12
ok je changer les deux ligne mais il me donne le meme chose!! ==> c'est à dire? Quelles sont ces deux lignes?
Bon, écoute, je poste ici la classe BrowserControl modifiée comme je t'ai dit, sans déclaration de package. Tu fais un copier coller dans ton Eclipse et remplaces entièrement le code actuel de cette classe:
import java.io.IOException;

/**
 * A simple, static class to display a URL in the system browser.
 * 
 * 
 * Under Unix, the system browser is hard-coded to be 'netscape'. Netscape must be in your PATH for this to work. This
 * has been tested with the following platforms: AIX, HP-UX and Solaris.
 * 
 * 
 * 
 * Under Windows, this will bring up the default browser under windows, usually either Netscape or Microsoft IE. The
 * default browser is determined by the OS. This has been tested under Windows 95/98/NT.
 * 
 * 
 * 
 * Examples:
 * 
 * 
 * 
 * BrowserControl.displayURL("https://www.infoworld.com/category/java/")
 * 
 * BrowserControl.displayURL("file://c:\\docs\\index.html")
 * 
 * BrowserContorl.displayURL("file:///user/joe/index.html");
 * 
 * 
 * Note - you must include the url type -- either "http://" or "file://".
 */
public class BrowserControl {
	/**
	 * Display a file in the system browser. If you want to display a file, you must include the absolute path name.
	 * 
	 * @param url
	 *          the file's url (the url must start with either "http://" or "file://").
	 */
	public static void displayURL(String url) {
		boolean windows = isWindowsPlatform();
		String cmd = null;
		try {
			if (windows) {
				// cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
				cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
				Runtime.getRuntime().exec(cmd);
			} else {
				// Under Unix, Netscape has to be running for the "-remote"
				// command to work. So, we try sending the command and
				// check for an exit value. If the exit command is 0,
				// it worked, otherwise we need to start the browser.
				// cmd = 'netscape -remote openURL(http://www.javaworld.com)'
				cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
				Process p = Runtime.getRuntime().exec(cmd);
				try {
					// wait for exit code -- if it's 0, command worked,
					// otherwise we need to start the browser up.
					int exitCode = p.waitFor();
					if (exitCode != 0) {
						// Command failed, start up the browser
						// cmd = 'netscape http://www.javaworld.com'
						cmd = UNIX_PATH + " " + url;
						p = Runtime.getRuntime().exec(cmd);
					}
				} catch (InterruptedException x) {
					x.printStackTrace();
				}
			}
		} catch (IOException x) {
			x.printStackTrace();
		}
	}

	/**
	 * Try to determine whether this application is running under Windows or some other platform by examing the "os.name"
	 * property.
	 * 
	 * @return true if this application is running under a Windows OS
	 */
	public static boolean isWindowsPlatform() {
		String os = System.getProperty("os.name");
		if (os != null && os.startsWith(WIN_ID))
			return true;
		else
			return false;

	}

	/**
	 * Simple example.
	 */
	public static void main(String[] args) {
		displayURL("https://www.infoworld.com/category/java/");
	}

	// Used to identify the windows platform.
	private static final String WIN_ID = "Windows";
	// The default system browser under windows.
	private static final String WIN_PATH = "rundll32";
	// The flag to display a url.
	private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
	// The default browser under unix.
	private static final String UNIX_PATH = "netscape";
	// The flag to display a url.
	private static final String UNIX_FLAG = "-remote openURL";
}


Ca compile sans erreurs sur ma machine et lorsque je l'exécute (clic droit dessus/Run As/Java Application) sous Eclipse, on m'affiche bien la page d'accueil de javaworld.

++
0
voila mes erreur de compilation qui se trouve dans les classes
pour la classe BrowserControl j'ai l'erreur suivante:
sur la veriable p qui se trouve dans la ligne suivante Process p = Runtime.getRuntime().exec(cmd); il donne l'erreur *The local variable pis never read* donne je decomanter la ligne et il est dusparie

et pour les autres erreurs de mes autre classe il me donne pour chaque classe le meme erreur c'est la suivante *The serializable class BuMoDe does not declare a static fina serialVersionUID field of type long*

et si je le execute et je clique sur la bouton pour laquele je veux qu'elle ma fiche la page html donc il me donne les erreurs suivant

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at hardware_monitoring$8.actionPerformed(hardware_monitoring.java:254)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.util.MissingResourceException: Can't find bundle for base name resources.Traduction, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1508)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1262)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:717)
at BrowserControl.<clinit>(BrowserControl.java:37)
... 26 more


voila merci beaucoup pour votre aide et patiance pour moi
0
merci beaucoup pour votre patience avec moi je sais que c'est pas evidant de expliquer a quelqu' un null !!!

j 'ai suprime la premiere ligne mais les erreurs sont toujour la

cordialement
0
j'ai toujour le meme probleme mais je vais vous expliquer mon probleme en faite des graphes qui se trouvent dans une page html les page html sont des page fournie pas un logiciel de monitoring donc moi je dois afficher les graphes dans une page de mon interface graphique en cliquant sur un bouton de ma primire page de mon interface voila mon probleme

merci beaucoup
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 17:36
j'ai toujour le meme probleme ==> impossible, j'ai vérifié (compilé & exécuté le code). Tu as dû faire une mauvaise manip (genre: tu n'as pas modifié comme je te l'avais demandé ou tu regardes/exécutes un autre code i.e. pas celui modifié).

M'enfin, il est difficile de faire plus...

mais je vais vous expliquer mon probleme en faite des graphes qui se trouvent dans une page html les page html sont des page fournie pas un logiciel de monitoring donc moi je dois afficher les graphes dans une page de mon interface graphique en cliquant sur un bouton de ma primire page de mon interface voila mon probleme ==> là ce n'est pas clair du tout. Ce que j'ai compris de ton besoin:
1. Tu as une application Swing
2. et des pages html qq part
3. ton appli Swing doit accéder via un clic à ces pages (qui s'afficheront - bien évidemment - dans un navigateur)

Si c'est cela, le passage par la classe BrowserControl est une bonne solution; si ce n'est pas ça, à toi d'essayer de bien expliquer. Essaie de structurer tes phrases, de mettre les signes de ponctuation, de te relire etc.

++
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
30 juil. 2008 à 17:43
voila j'ai fais ce que vous m avais dit mais j' ai toujour le meme probleme !!

donc je vais vous expliquer mon probleme moi j'ai des graphe fournie par un logiciel AZBBIX ses graphes sont affiche dans des pages html donc moi je dois afficher ces graphes dans une page de mon interface graphique en cliquant une un bouton.

merci pour avoir m 'aider
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
30 juil. 2008 à 18:10
si je compile la classe ou se trouve la bouton qui normalement il dois afficher la page html ou se trouvent les graphes et je clique sur le bouton il me donne les erreurs suivantes

java.io.IOException: Cannot run program "netscape": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at BrowserControl.displayURL(BrowserControl.java:52)
at hardware_monitoring$8.actionPerformed(hardware_monitoring.java:254)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 30 more

mais si je compile la classe BrowserControl (moudifier) avec java application il me donne les erreurs suivants

java.io.IOException: Cannot run program "netscape": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at BrowserControl.displayURL(BrowserControl.java:52)
at BrowserControl.main(BrowserControl.java:91)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 5 more

bon je suis vraiment desole pour le derangement toute la journer
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
30 juil. 2008 à 18:38
en faite j' ai un probleme la suite de discution je le voix plus est ce que c'est normale
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 juil. 2008 à 18:53
java.io.IOException: Cannot run program "netscape": java.io.IOException: error=2, No such file or directory ==> c'est maintenant que je remarque que tu es sous Linux; bon, le code date un peu et je l'ai vérifié uniquement sous Windows. Sous Linux, le code essaye d'ouvrir Netscape (à la mode il y a quelques années...). Maintenant, si tu as un autre navigateur, effectivement ça ne va pas marcher.

BrowserControl a bien sûr ses limites: ça fonctionne correctement uniquement sous Windows et sous différents versions de *nix avec Netscape. Il va falloir faire une mise à jour de cette classe, mais pour l'instant on va essayer de lancer firefox avec une commande en dur. A quel endroit as-tu installé ton firefox sous Linux?

En ce qui concerne le reste de la discution, ne t'inquiète pas: bug CCM, le dernier message que je vois est le numéro 13, alors qu'il y a plus de messages dans ce thread.

++
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
31 juil. 2008 à 09:41
bonjour
en faite pour votre question A quel endroit as-tu installé ton firefox sous Linux?
il est sur /usr/bin/firefox

merci bp
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 09:46
Salut,

Comme /usr/bin est normalement dans ton PATH, essaie de remplacer la ligne
private static final String UNIX_PATH = "netscape"; //$NON-NLS-1$
par
private static final String UNIX_PATH = "firefox"; //$NON-NLS-1$

et dis-moi si c'est OK

++
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
31 juil. 2008 à 10:06
c est bon ca marcheeeeeeeeeee merci mais pour mon cas je qui il m affiche une page qui se trouve dans une interface d un logiciel c est le zabbix ?????
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 10:15
Je ne connais pas zabbix, mais cela ne devrait pas poser problème; supposons que tu as accès à une page zabbix directement depuis firefox avec cette URL:

http://my_zabbix_server/somePage.html

==> il suffit d'appeler BrowserControl.displayURL("http://my_zabbix_server/somePage.html"); dans la méthode actionPerformed() dans le listener du bouton de ton interface Swing.

++
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
31 juil. 2008 à 10:56
MERCI BEAUCOUP ca marche il maffiche bien les pages que je lui donne par compte comment je peux afficher ces page dans une classe de mon interface graphique si j ai zone de text ???
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 10:59
comment je peux afficher ces page dans une classe de mon interface graphique si j ai zone de text ==> est-ce que tu veux dire par là: tu as un JTextArea et à l'intérieur tu voudrais la page HTML (i.e. s'affranchir du navigateur)? Ou bien autre chose? Précise, s'il te plaît.
0
lououle Messages postés 55 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 21 août 2008
31 juil. 2008 à 11:09
oui c est ca en faite a coter des bouton j ai JTextArea et je veux que quand je clique sur la bouton la page (ou le graphe dans la page) s affiche dans JTextArea pour que l utilisateur voit en meme temps la bouton cliquer le le graphe corespondant

merci encore
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 11:25
Ahhhh, dans ce cas la méthode est complètement différente. On peut le faire, mais il faut être conscient des limites: en effet, un JEditorPane ne supporte pas tout ce que firefox (ou un autre navigateur digne de ce nom supporte) ==> du coup, on risque d'avoir la page avec un rendu innatendu (ou sans rendu du tout: pense, par exemple, aux pages avec du flash). Pour te donner une idée, je t'ai créé à la va-vite un exemple; prends le code (classe LououteSample, sans package, à ta manière, lol) et, une fois sous Eclipse, exécute avec Run As JAva Application.

Tu pourras par la suite t'amuser à changer les pages (https://www.google.fr/?gws_rd=ssl et http://www.ibm.com) par d'autres pages pour bien vérifier le rendu. Il faut également savoir que le rendu dépendra fortement de ta version Java utilisée (je l'ai testé avec Java 6...), JEditorPane s'améliore au fur et à mesure mais il ne sera jamais à la hauteur d'un navigateur... Voilà, amuse-toi bien.

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class LououleSample extends JFrame {
	private static final long serialVersionUID = 1L;
	private JEditorPane editorPane;

	/**
	 * Launch the application
	 * 
	 * @param args
	 */
	public static void main(String args[]) {
		try {
			LououleSample frame = new LououleSample();
			frame.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the frame
	 */
	public LououleSample() {
		super();
		setBounds(100, 100, 500, 375);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		final JPanel panel = new JPanel();
		panel.setLayout(new BorderLayout());
		getContentPane().add(panel);

		editorPane = new JEditorPane();
		panel.add(editorPane);

		final JPanel panel_1 = new JPanel();
		final FlowLayout flowLayout = new FlowLayout();
		flowLayout.setAlignment(FlowLayout.RIGHT);
		panel_1.setLayout(flowLayout);
		getContentPane().add(panel_1, BorderLayout.SOUTH);

		final JButton displayWwwibmcomButton = new JButton();
		displayWwwibmcomButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					getEditorPane().setPage("https://www.ibm.com/fr-fr");
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
		});
		displayWwwibmcomButton.setText("Display www.ibm.com");
		panel_1.add(displayWwwibmcomButton);

		final JButton displayWwwgooglefrButton = new JButton();
		displayWwwgooglefrButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					getEditorPane().setPage("https://www.google.fr/?gws_rd=ssl");
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
		});
		displayWwwgooglefrButton.setText("Display www.google.fr");
		panel_1.add(displayWwwgooglefrButton);

		//
	}

	protected JEditorPane getEditorPane() {
		return editorPane;
	}

}
0