Comment puis-je générer un nuage de tags en Java, avec OpenCloud? [fermé]


Je cherchais une bibliothèque pour créer des nuages de tags dans une application Java, et j'ai trouvé OpenCloud.

Je ne veux pas avoir à utiliser un serveur Web, dont OpenCloud aura besoin pour obtenir la sortie, n'est-ce pas? Existe-t-il un moyen de faire fonctionner OpenCloud dans un panneau Java/Swing? Je veux quelque chose pour une application autonome. Si ce n'est pas possible, où puis-je rechercher une telle API?

Author: Bart, 2012-07-14

3 answers

En fait, OpenCloud ne nécessite pas de serveur Web. Utilisez simplement le rendu Swing au lieu de HTML / JSP. Voici un petit extrait illustrant un nuage de balises Swing très basique utilisant la bibliothèque OpenCloud. Il peut être amélioré, mais il vous donne l'essentiel:

import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import org.mcavallo.opencloud.Cloud;
import org.mcavallo.opencloud.Tag;

public class TestOpenCloud {

    private static final String[] WORDS = { "art", "australia", "baby", "beach", "birthday", "blue", "bw", "california", "canada", "canon",
            "cat", "chicago", "china", "christmas", "city", "dog", "england", "europe", "family", "festival", "flower", "flowers", "food",
            "france", "friends", "fun", "germany", "holiday", "india", "italy", "japan", "london", "me", "mexico", "music", "nature",
            "new", "newyork", "night", "nikon", "nyc", "paris", "park", "party", "people", "portrait", "sanfrancisco", "sky", "snow",
            "spain", "summer", "sunset", "taiwan", "tokyo", "travel", "trip", "uk", "usa", "vacation", "water", "wedding" };

    protected void initUI() {
        JFrame frame = new JFrame(TestOpenCloud.class.getSimpleName());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();
        Cloud cloud = new Cloud();
        Random random = new Random();
        for (String s : WORDS) {
            for (int i = random.nextInt(50); i > 0; i--) {
                cloud.addTag(s);
            }
        }
        for (Tag tag : cloud.tags()) {
            final JLabel label = new JLabel(tag.getName());
            label.setOpaque(false);
            label.setFont(label.getFont().deriveFont((float) tag.getWeight() * 10));
            panel.add(label);
        }
        frame.add(panel);
        frame.setSize(800, 600);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TestOpenCloud().initUI();
            }
        });
    }

}

Ce code est basé sur l'Exemple 1 de la OpenCloud bibliothèque

Voici une sortie de ce que j'ai obtenu:

Image de démonstration du nuage d'étiquettes Swing

 13
Author: Guillaume Polet, 2012-07-14 09:34:24

J'ai créé la bibliothèque word cloud, Kumo (Nuage en japonais), en Java. Bizarrement, j'ai toujours aimé les nuages de mots. :)

Kumo peut générer des BufferedImages, des fichiers image (PNG,BMP,etc.), et a également des exemples montrant l'utilisation dans JPanels. Le projet est mavenized et dans Maven Central pour faciliter l'intégration. Vous trouverez ci-dessous quelques exemples de nuages de mots et d'autres exemples sur la page GitHub de Kumo: https://github.com/kennycason/kumo

Il y a aussi un exemple JPanel ici et une capture d'écran ici.

entrez la description de l'image icientrez la description de l'image icientrez la description de l'image icientrez la description de l'image icientrez la description de l'image icientrez la description de l'image icientrez la description de l'image ici

 11
Author: Kenny Cason, 2017-06-05 07:41:09

J'ai utilisé openCloud pour créer de simples nuages de mots java en utilisant la fréquence des mots et ou les valeurs de vraisemblance du journal pour ajuster le poids des mots (taille de police). Les nuages utilisent des couleurs aléatoires et fournissent une simple rotation aléatoire.

Github ici

Exemple anglais

L'arabe de l'échantillon

 0
Author: PhDeveloper, 2016-02-25 16:57:52