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

SWT/JFace Java Discussion :

[SWT][MozillaInterface] Pouvoi avoir un rendu XML/CSS avec le Browser


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Par défaut [SWT][MozillaInterface] Pouvoi avoir un rendu XML/CSS avec le Browser
    Bonjour à tous,

    dans le cadre d'un projet, je dois développez une application Java (en SWT) avec intégration du moteur de rendu Gecko (rendu "graphique" des pages html, xml etc... de firefox).

    Petit probleme, je n'arrive pas a voir un rendu XML avec du css intégré. En faite le widget Browser peut avoir 2 méthodes, setUrl ou setText. Le probleme c'est que le setText prend une String qui doit être du HTML.

    J'aimerai savoir s'il y aura pas moyen de spécifier au widget que je lui envoie un mime type text/xml ? je pense qu'il j'aille attaquer les couches basses du browser nottament les classes javaxpcom.

    estce que certain d'entre vous on déjà eu a faire ca ?


    merci pr votre aide.

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Par défaut
    Nouvelle piste de reflexion :

    1) je suis sous un enviroment Linux et je developpe avec Eclipse
    2) j'utilise la librairie SWT qui integre directement un widget Browser permettant d'avoir le moteur de rendu de firefox.
    3) pour utiliser les interfaces de gecko, il faut que je passe par javaxpcom
    4) j'ai un probleme

    voici déjà le pt bout de code qui est juste la création d'un shell et d'un browser avec le style SWT.MOZILLA

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    public class TestInitMoz {
    	private static String pathXUL = "xulrunner-1.8.1.3/";
    	public static void main(String[] args) {
    		System.out.println("Debut");
    		System.setProperty("org.eclipse.swt.browser.XULRunnerPath", pathXUL);
    		Mozilla mozilla = Mozilla.getInstance();
    		GREVersionRange[] range = new GREVersionRange[1];
    		range[0] = new GREVersionRange("1.8.0.*", false, "1.8.1.*", true);
    		try {
    			File grePath = new File (pathXUL);
    			LocationProvider locProvider = new LocationProvider(grePath,createTempProfileDir());
    			mozilla.initialize(grePath);
    			mozilla.initEmbedding(grePath, grePath, locProvider);
    			mozilla.notifyProfile();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (XPCOMException e) {
    			e.printStackTrace();
    		} catch (IOException e){
    			e.printStackTrace();
    		}
    		Display display = new Display();
    		Shell shell = new Shell (display);
    		shell.setText("Mozilla");
    		shell.setSize(800,600);
    		shell.setLayout(new FillLayout());
    		Browser browser = new Browser(shell,SWT.MOZILLA);
    		if (browser == null){
    			System.out.println("Browser marche pas");
    		}
     
    		shell.open();
    		while (!shell.isDisposed()) {
    	        if (!display.readAndDispatch())
    	             display.sleep();
    	    }
    	    display.dispose();
    		mozilla.termEmbedding();
    		System.out.println("Fini");
    	}
    	private static File createTempProfileDir() throws IOException {
    		// Get name of temporary profile directory
    		File profile = File.createTempFile("mozilla-test-", null);
    		profile.delete();
     
    		// On some operating systems (particularly Windows), the previous
    		// temporary profile may not have been deleted. Delete them now.
    		File[] files = profile.getParentFile()
    				.listFiles(new FileFilter() {
    					public boolean accept(File file) {
    						if (file.getName().startsWith("mozilla-test-")) {
    							return true;
    						}
    						return false;
    					}
    				});
    		for (int i = 0; i < files.length; i++) {
    			deleteDir(files[i]);
    		}
     
    		// Create temporary profile directory
    		profile.mkdir();
     
    		return profile;
    	}
     
    	private static void deleteDir(File dir) {
    		File[] files = dir.listFiles();
    		for (int i = 0; i < files.length; i++) {
    			if (files[i].isDirectory()) {
    				deleteDir(files[i]);
    			}
    			files[i].delete();
    		}
    		dir.delete();
    	}
    }
    Tout ce passe bien, jusqu'a arriver a l'instanciation du Browser et je me retrouve avec un jolie message d'erreur :

    Exception in thread "main" org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME may not point at an embeddable GRE] [NS_InitEmbedding /home/mtaranti/Bureau/xulrunner-1.8.1.3/ error -2147467259]
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
    at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
    at gecko.TestInitMoz.main(TestInitMoz.java:43)
    Je ne sais pas trop comment interpréter ca. J'ai essaier de rajouter les variables d'environnement MOZILLA_FIVE_HOME=/usr/lib/firefox, mais si je les rajoute j'ai le droit a un gros crash au niveau de la ligne d'instanciation du Display

    Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
    at org.eclipse.swt.widgets.Display.create(Unknown Source)
    at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at gecko.TestInitMoz.main(TestInitMoz.java:38)

    Avez vous des idées pr régler mon probleme ??

    merci

Discussions similaires

  1. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  2. [HTML][XML][CSS]combiner les 3
    Par maxvador dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/03/2006, 10h07
  3. [XML] CSS
    Par ghalaax dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/02/2006, 15h23
  4. [XML/CSS] Comment afficher le fond pour l'impression
    Par askeur dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/11/2005, 00h19
  5. [FLASH MX ] flash + xml + css
    Par girardeau dans le forum Flash
    Réponses: 1
    Dernier message: 25/08/2005, 12h07

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