2010-05-02 3 views
2

SVG DOM peut être contrôlé avec JavaScript, donc il peut être AJAX-activé ... Je me demande s'il existe encore des composants SVG pour Wicket. Et si Wicket peut avoir xml/svg pur comme format de sortie.Wicket et SVG - existe-t-il des composants?

La recherche rapide sur google montre seulement un question at Code Ranch.

+0

Merci pour dire que vous googlé et fait quelques recherches avant de poser la question +1 –

Répondre

1

Je ne connais pas de composants construits, mais Wicket peut certainement avoir xml/svg comme format de sortie, et il est assez simple de faire une page qui rend svg.

code exemple simple Dumb:

public class Rectangle extends Page { 

    @Override 
    public String getMarkupType() { 
     return "xml/svg"; 
    } 

    @Override 
    protected void onRender(MarkupStream markupStream) { 
     PrintWriter writer = new PrintWriter(getResponse().getOutputStream()); 
     writer.write(makeRectangleSVG()); 
     writer.flush(); 
     writer.close(); 
    } 

    private String makeRectangleSVG() { 
     return "<?xml version=\"1.0\" standalone=\"no\"?>\n" + 
      "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n" + 
      "\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" + 
      "\n" + 
      "<svg width=\"100%\" height=\"100%\" version=\"1.1\"\n" + 
      "xmlns=\"http://www.w3.org/2000/svg\">\n" + 
      "\n" + 
      "<rect width=\"300\" height=\"100\"\n" + 
      "style=\"fill:rgb(0,0,255);stroke-width:1;\n" + 
      "stroke:rgb(0,0,0)\"/>\n" + 
      "\n" + 
      "</svg> "; 
    } 
} 

Si vous associez cela comme une page bookmarkable et l'appeler, il n'affiche un joli rectangle bleu, selon le svg codé en dur (volé un exemple W3Schools). Et bien sûr, vous pouvez facilement paramétrer la page et générer le svg au lieu de simplement envoyer une chaîne constante ...

Je suppose qu'il ne serait pas difficile de construire un composant basé sur l'étiquette object afin que svg puisse être montré dans le cadre d'une page html plutôt que d'être toute la page comme ça, mais je n'ai pas encore essayé de le faire.

+0

Merci, mais je voulais dire quelques compoments tirant parti des événements de Wicket pour gérer les actions de l'utilisateur. Pour une sortie 'xml/svg'" générée à la main ", je préfère utiliser une simple servlet. –

+0

Je m'attends à utiliser Wicket pour ce que vous recherchez, vous voulez toujours quelque chose de similaire, mais comme un composant basé sur l'étiquette d'objet avec redessiner sur l'événement de l'utilisateur. Je ne pense pas qu'ils sont déjà là-bas. –

6

Je ne sais pas si vous avez besoin d'une bibliothèque wicket-svg plus. Mais j'ai commencé un projet à github pour fournir des composants de guichet pour travailler avec svg.

Suivez ce lien: wicket-svg

+0

s'il vous plaît fournir un résumé avant de se référer le lien. –