Maison > Java > javaDidacticiel > Comment puis-je personnaliser la taille de JFreeChart dans un JPanel ?

Comment puis-je personnaliser la taille de JFreeChart dans un JPanel ?

DDD
Libérer: 2024-12-14 08:40:12
original
816 Les gens l'ont consulté

How Can I Customize JFreeChart's Size within a JPanel?

Personnalisation de la taille de JFreeChart pour un JPanel

Dans un JPanel, la taille par défaut de JFreeChart peut ne pas toujours être optimale. Voici comment personnaliser la taille :

1. Spécifiez la taille préférée dans le constructeur :

JPanel graph = new JPanel(new GridLayout());
graph.add(new ChartPanel(chart, 500, 300));
Copier après la connexion

2. Appelez setPreferredSize()

ChartPanel cp = new ChartPanel(chart);
cp.setPreferredSize(new Dimension(500, 300));
Copier après la connexion

3. Remplacez getPreferredSize()

@Override
public Dimension getPreferredSize() {
    return new Dimension(w, h);
}
Copier après la connexion

4. Choisissez la disposition du conteneur

FlowLayout de JPanel n'est pas idéal pour le redimensionnement, alors que BorderLayout dans JFrame permet un redimensionnement dynamique.

5. Autres méthodes

  • setMaximumDrawHeight() et setMaximumDrawWidth() limitent la zone dessinable du graphique.
  • setZoomOutFactor() réduit le graphique d'un facteur.

Exemple :

public void generateChart() {
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    //set the values of the chart
    for(int i=0; i<8; i++)
    {
        dataset.setValue(income_array[i], "Income",
            Double.toString(percent_array[i]));
    }

    JFreeChart chart = ChartFactory.createBarChart(
        "Required Annual Income for a Variety of Interest Rates",
        "Percent", "Income", dataset, PlotOrientation.VERTICAL,
        false,true, false);
    ChartPanel cp = new ChartPanel(chart, 500, 300);

    chart.setBackgroundPaint(Color.white);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal