[Java] Composant JDIC et Jpane ???

ixtobilly Messages postés 45 Statut Membre -  
 danyboy85 -
Bonjour les amis !


Voici la classe Browser :


package project1pfu;

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.JFrame;

import javax.swing.JPanel;

import org.jdesktop.jdic.browser.WebBrowser;
import org.jdesktop.jdic.browser.WebBrowserEvent;
import org.jdesktop.jdic.browser.WebBrowserListener;




    public class Browser extends JPanel {
    
    private String url = "https://www.google.ci/?gws_rd=ssl";
    
        private void jbInit() throws Exception {
         
                   JFrame frame = new JFrame("Applications Web de la Caisse d''Epargne");
                   
                    WebBrowser webBrowser = new WebBrowser();
                
                    //Use below code to check the status of the navigation process,
                    //or register a listener for the notification events.
                    webBrowser.addWebBrowserListener(
                        new WebBrowserListener() {                       
                        public void downloadStarted(WebBrowserEvent event) {;}
                        public void downloadCompleted(WebBrowserEvent event) {;}
                        public void downloadProgress(WebBrowserEvent event) {;}
                        public void downloadError(WebBrowserEvent event) {;}
                        public void documentCompleted(WebBrowserEvent event) {;}
                        public void titleChange(WebBrowserEvent event) {;}  
                        public void statusTextChange(WebBrowserEvent event) {;}        
                    }); 
    
                    try {
                        webBrowser.setURL(new URL(url));
                    } catch (MalformedURLException e) {
                        System.out.println(e.getMessage());
                        return;
                    }
                    
                    JPanel panel = new JPanel();
                    panel.setLayout(new BorderLayout());
                    panel.setPreferredSize(new Dimension(400, 400));
                    panel.add(webBrowser, BorderLayout.CENTER);
                    
                    frame.getContentPane().add(panel, BorderLayout.CENTER);
                    frame.pack();
                    frame.setVisible(true); 
                    
                }
    
    public Browser() {
        
        
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
/*     
    public static void main(String[] args) throws Exception {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            
                    Browser lebrowser = null;
                    lebrowser = new Browser();
                    
    
    } 
 */
 

}




Je fais une application composée de plusieurs " JTabbedPane ".

Je voudrais faire apparaitre sur un de ceux ci la page web que l'on voit grâce au code ci-dessus (Si vous activez main()) :



Ainsi, j'ai fait dans mon programme:


import project1pfu.Browser;

public class bureauriche extends JFrame {

...
    
    private JTabbedPane jTabbedPaneLocal = new JTabbedPane();

    private Browser navigateur= new Browser();
 
	jTabbedPaneLocal.addTab("Applications Web", navigateur);

...

Mais au lieu de l'incorporer dans mon panel "navigateur" , il s'ouvre dans une fenêtre indépendante.

(J'ai eu l'idée d'utiliser cette classe dans mon programme mais il ouvre carement un frame dans lequel la page web s'ouvre); cè normal, c'est ce ki est écrit dans le code.

Mais moi je veux me limiter à ouvrir la pge dans le Panel concerné.

(J'ai éliminé les ligne créant le frame dans la classe Browser et la rien ne se passe)

Est ce que ce que je veux faire est possible ? Comment puis-je m'y prendre ? Quelqu'un a t il une idée ?

16 réponses

ixtobilly Messages postés 45 Statut Membre 4
 
Toujours pas de contrib ???? je cherche encore alors

Merci
0
ixtobilly Messages postés 45 Statut Membre 4
 
J'ai continué de creuser et dans la classe pricipale de mon application et j'ai écrit ça:


    public static void SimpleBrowser (WebBrowser webBrowser, String url) {
        
            //Use below code to check the status of the navigation process,
            //or register a listener for the notification events.
            webBrowser.addWebBrowserListener(
                new WebBrowserListener() {                       
                public void downloadStarted(WebBrowserEvent event) {;}
                public void downloadCompleted(WebBrowserEvent event) {;}
                public void downloadProgress(WebBrowserEvent event) {;}
                public void downloadError(WebBrowserEvent event) {;}
                public void documentCompleted(WebBrowserEvent event) {;}
                public void titleChange(WebBrowserEvent event) {;}  
                public void statusTextChange(WebBrowserEvent event) {;}        
            });

            try {
                webBrowser.setURL(new URL(url));
            } catch (MalformedURLException e) {
                System.out.println(e.getMessage());
                return;
            }
            
                         
       
    }
	
	
	    
		
		
		
		
		private JTabbedPane jTabbedPaneLocal = new JTabbedPane();
		
		private JTabbedPane jTabbedPaneLocal = new JTabbedPane();

   
		private JPanel navigateur = new JPanel();
 
		WebBrowser webBrowser = new WebBrowser();
		
        SimpleBrowser (webBrowser, "http://www.monurl.mondomaine");
      
        
        
        navigateur.setLayout(new BorderLayout());
        navigateur.setPreferredSize(new Dimension(400, 400));
        navigateur.add(webBrowser, BorderLayout.CENTER);
        jTabbedPaneLocal.add("Applications Web", navigateur);
        


et ça marche !!!!

Merci à ceux qui ont cherché avec moi !
0
ssebounet Messages postés 163 Statut Membre 6
 
Bonjour!

Je souhaite utiliser jdic aussi pour avoir un rendu html en application swing.
J'aurai voulu savoir si tu avais reussi a l'utiliser sous linux?
Pour ma part j'ai reussi a le faire fonctionner sous windows mais linux je n'y arrive pas. je n'arrive pas a trouver le gecko pour.
Quas tu fait?

merci

seb
0
ixtobilly Messages postés 45 Statut Membre 4
 
Non pas vraiment ! Mon programme marche sur machine windows. J'en ai fais un fichier JAR excécutable dans lequel j'ai incorporé les biblithèque nécessaires. Mais sous linux il me dit: Noclassdefound jdic etc...

Dc pour le moment cè le statut quo

Cè koi le gecko ? Suis pas très "puissant" sur Java, mais et ça m'intéresse de savoir. Puex tu me donner des infos de base et je vais chercher avec toi ?

Merci
0
ssebounet Messages postés 163 Statut Membre 6
 
Slt!
J'avais pas vu que tu m avais repondu ca ne m a pas envoyer de mails! dsl !
sinon j'ai reussi a le faire tourner sur linux et windows! en fait gecko est le moteur de mozilla jusqu'a la version 1.7 !
je n'arrivais pas a trouver les librairies compilé pour linux ... une fois cela fait c'est assez simple!
il faut juste mettre les bon chemin ds les variable de paths et c'est tout bon ;)
sinon pour que ca fonctionne parfaitement sur linux maintenant j embarque le moteur de mozilla moi meme et je defini tjs celui ci comme navigateur a lancer...
voilou !
bon courage a toi !
++
seb
0
ixtobilly Messages postés 45 Statut Membre 4
 
Bonjour Seb !
Merci pour ta réponse,

Content que ça marche pour toi !

Peut tu me donner un topo (CF: fichier MANIFEST, lien vers doc, etc) sur l'itégration du Gecko ds ton jar ki marche sur ttes les plates formes.

Moi j'ai tenté d'inclure les éléments dans mon jar, mais kan j'arrive sur une machine qui n'a pas les librairies, le SE n'utilise pas les lib incluses dans mon jar.

De même je voudrais savoir comment tu fais pour forcer le système à utiliser ton gecko !

Merci
0
ssebounet Messages postés 163 Statut Membre 6
 
slt bin je recois aucun mails qd tu repond fait beini répondre a mon texte sinon c est par chance que je vois que tu parles!!!

sinon ce dont je me suis inspiré est dans l'aide de jdic pour choisir quelle engine choisir! j'utilise du coup mon moteur (gecko) a moi! que je vais fournir avec mon appli en faite il ne sera pas intégré pour ma part il sera ds un repertoire séparé! sinon pour avoir les gecko j'ai installé un mozilla 1.7 sur un linux et sur le wine ainsi j'ai celui de windows! et je recupere les fichiers!

va voir sur ce lien pour parametrer jdic et utiliser ton moteur : ensuite il faut parametrer les paths qui vont c est ecrit sur le site aussi ;)

http://jdic.dev.java.net/...
0

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

Posez votre question
ixtobilly Messages postés 45 Statut Membre 4
 
Bonjour Seb !

Merci de me repondre !

Si tu veux des mail en retour de mes réponses il faut ke tu coche la case " Recevoir les réponses par mail " qui est en haut de la zone de saisie de message.

Merci pour le lien, je vais l'exploiter et te donner des nouvelles
0
ssebounet Messages postés 163 Statut Membre 6
 
ouaip dsl j ai vu ca qu'apres! j'avais oublié!
sinon oki pour ta recherche! mais sinon j'ai remarqué un pbm ds leur distrib! le setcontent ne fonctionne pas bien il me semble avec els images! alors que le seturl fonctionne parfaitement !
et tu fais quoi sinn tu es etudiant ou tu bosses ?
++
0
ixtobilly Messages postés 45 Statut Membre 4
 
Ok !

Je bosse ! Je travaillais en fait beaucoup plus avec PHP mais j'ai été séduit par JAVA. Donc j'essaie de faire un truc bien compliqué pour m'adier à dompter ce langage. Le blème, cè que j'ai pas bcp de tps pour faire les recherches donc du coup j'avance pas vite.
Et toi tu fais quoi ?
0
ssebounet Messages postés 163 Statut Membre 6
 
moi aussi je bosse en revanche je connais le php aussi c est assez sympas mais le java est bien mieux pour developper! facile a debugguer etc etc eclipse est vraiment bien aussi !
j'ai un nouveau soucis sinon sur jdic! le navigateur integré que j'utilise plante au bout de qques affichages!
si tu connais ce pbm tien moi au jus stp!
@+
0
ixtobilly Messages postés 45 Statut Membre 4
 
Bonjour Seb !

Je n'ai pas eu de plantage a mon niveau avec mon programme utilisant la classe browser. Tu peux voir comment j'ai procédé dans la réponse à mon problème plus haut. Il y a t il quelque chose que tu es ajouté a ton programme pour l'obliger à utiliser ton navigateur intégré ? Peut être qu'un bout de code pourrait nous aider à y voir un peu plus clair !!!

A Bientot
0
ssebounet Messages postés 163 Statut Membre 6
 
ouaip si tu veux mais comme je te disais aussi j ai repris quasiment tel quel le code de la faq qui devrait fonctionner ;)


BrowserEngineManager bem= BrowserEngineManager.instance();

IBrowserEngine browserEngine = bem.getActiveEngine();
if (browserEngine == null)
bem.setActiveEngine(BrowserEngineManager.MOZILLA);
IBrowserEngine be=bem.getActiveEngine();

// Définition des propriétés systemes pour le lancement du navigateur
System.setProperty("LD_LIBRARY_PATH", Path + "/mozilla;"+System.getProperty("LD_LIBRARY_PATH"));
System.setProperty("PATH", Path + "/mozilla;"+System.getProperty("PATH"));
System.setProperty("java.library.path ", Path + "/mozilla");

be.setEnginePath(Path + "/mozilla");

webBrowser = (WebBrowser) be.getWebBrowser();
webBrowser.setDebug(true);
// Page blanche par défaut
webBrowser.setURL();


puis plus tard dans la suite j appelle cette methode

webBrowser.setURL(new URL("file:" + fileName+".tmp"));
qui est une page html que je complete au fur et a mesure

mais le probleme est aujourdhuis lorsque je ferme le panel qui contient mon webbrowser, il part en carafe en me disant :
*** Jtrace: Native embedded browser died.

voilou c estvraiment bizarre car je le ferme proprement en fesant un stop puis un dispose!
peut etre demain ca ira mieux en redemarrant la machine !

si tu vois des infos sur ca tien moi au courant !
++
0
jonathan
 
Bonjour,

je suis intéressé par la suite de ce problème car j'ai le même !!!

Cordialement,
0
ssebounet Messages postés 163 Statut Membre 6
 
Slt pas de pbm mais je crois que ce plantage n'est que sur linux! sur windows je n'ai aps observer ce genre de choses! donc du coup je vais le laissé un peu en suspend je pense!
si de ton coté tu trouves des choses tien moi au courant stp ;)
merci et bon courage!
++
0
ssebounet Messages postés 163 Statut Membre 6
 
Slt!
Je viens aux nouvelles pour savoir si tu as découvert qques données suplémentaires!
Pour ma part rien de neuf... il faut que je continue les tests... tien moi au jus merci
++
seb
0
ixtobilly Messages postés 45 Statut Membre 4
 
Salut Seb !

Merci pr le message

Je n'ai pas encore trouvé grand chose; a vrai dire, je n'ai plus travaillé dessus, j'ai été affecté a autre chose (bcp moins passionnant). Mais je vais m'y remettre bientot et te ferait part de mes resultats.
0
ssebounet Messages postés 163 Statut Membre 6
 
Slt !

Je venais aux nouvelles pour savoir si vous avez trouvé qques solutions à nos problèmes.
Pour ma part j'avais mis en pause ce projet mais je pense que je vais y revenir bientôt...
Si vous avez des nouvelles sur nos déconnexion intempestive je suis toujours à l'écoute !
merki

Séb
0
danyboy85
 
Bonjour,

Même problème sous Windows.

En fait au départ, j'ai fait seulement ca :

WebBrowser b = new WebBrowser();
b.setUrl(monUrl);
b.setVisible(true);

Cela marche nickel.

Par contre j'ai voulu ensuite paramétrer mon Browser pour qu'il lance Mozilla et non IE. J'ai donc fait ca :

BrowserEngineManager bem = BrowserEngineManager.instance();
bem.setActiveEngine(BrowserEngineManager.MOZILLA);
bem.getActiveEngine().setEnginePath("E:/Program Files/Mozilla Firefox");
WebBrowser b = new WebBrowser();
b.setUrl(monUrl);
b.setVisible(true);

Et là, ca me renvoie ca :

*** Jtrace: Envent Thread run once!
*** Jtrace: Msg Client new once!
*** Jtrace: Found a free socket port: 2390
native lib path F:\Dany\projets_netbeans\optima_swing\lib\windows\x86*** Jtrace: Got xpcom from user set
native lib path F:\Dany\projets_netbeans\optima_swing\lib\windows\x86*** Jtrace: Executing F:\Dany\projets_netbeans\optima_swing\lib\windows\x86\MozEmbed.exe -port=2390
*** Jtrace: Connecting to native browser ... 0
*** Jtrace: connected
*** Jtrace: Process event to native browser: 0, 0,
*** Jtrace: Send data to socket: 0,0,</html><body></html>
*** Jtrace: Native embedded browser died.


Et je ne vois pas mon browser à l'écran...

Quelqu'un peut-il m'aider ?
0