CodeName One Kreisdiagramm: Unterschied zwischen den Versionen

Aus Mediawiki der Ludwig-Geißler-Schule
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


Die Daten für das Kreisdiagramm werden aus den Ausgabenfeldern gesammelt, die der Benutzer in der Benutzeroberfläche eingegeben hat. Diese Daten werden in einem CategorySeries Objekt gespeichert.
Die Daten für das Kreisdiagramm werden aus den Ausgabenfeldern gesammelt, die der Benutzer in der Benutzeroberfläche eingegeben hat. Diese Daten werden in einem CategorySeries Objekt gespeichert.




Zeile 23: Zeile 22:


Ein DefaultRenderer wird erstellt und konfiguriert. Dieser Renderer bestimmt das Aussehen des Diagramms, wie die Farben der Segmente, die Größe der Beschriftungen und ob die Werte angezeigt werden sollen.
Ein DefaultRenderer wird erstellt und konfiguriert. Dieser Renderer bestimmt das Aussehen des Diagramms, wie die Farben der Segmente, die Größe der Beschriftungen und ob die Werte angezeigt werden sollen.




Zeile 33: Zeile 31:
         renderer.setShowLabels(true);
         renderer.setShowLabels(true);
----------
----------


Der buildCategoryRenderer ist eine Methode, die den Renderer erstellt und die Farben der einzelnen Segmente festlegt.
Der buildCategoryRenderer ist eine Methode, die den Renderer erstellt und die Farben der einzelnen Segmente festlegt.


  private DefaultRenderer buildCategoryRenderer(int[] colors) {
        DefaultRenderer renderer = new DefaultRenderer();
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setMargins(new int[]{20, 30, 15, 0});
        for (int color : colors) {
            SimpleSeriesRenderer r = new SimpleSeriesRenderer();
            r.setColor(color);
            r.setGradientEnabled(true);
            r.setGradientStart(0, color);
            r.setGradientStop(0, color);
            renderer.addSeriesRenderer(r);
        }
        return renderer;
    }
-------
-------


3. Kreisdiagramm erstellen:
3. Kreisdiagramm erstellen:
Zeile 45: Zeile 55:
Ein PieChart Objekt wird mit den gesammelten Daten und dem konfigurierten Renderer erstellt.
Ein PieChart Objekt wird mit den gesammelten Daten und dem konfigurierten Renderer erstellt.


 
PieChart chart  = new PieChart(series, renderer);
ChartComponent c = new ChartComponent(chart);
---------------------
---------------------


4. Anzeigen des Diagramms:
4. Anzeigen des Diagramms:


Das Kreisdiagramm wird in einem Dialog angezeigt, der erstellt und konfiguriert wird, um das Diagramm in der Benutzeroberfläche anzuzeigen. Ein Schließen-Button wird ebenfalls hinzugefügt.
Das Kreisdiagramm wird in einem Dialog angezeigt, der erstellt und konfiguriert wird, um das Diagramm in der Benutzeroberfläche anzuzeigen. Ein Schließen-Button wird ebenfalls hinzugefügt.
// Create a dialog to display the pie chart
        Dialog d = new Dialog("Ausgabenverteilung", new BorderLayout());
        d.add(BorderLayout.CENTER, c);
        // Modern red close button for the dialog
        Button closeButton = new Button("Schließen");
        Style closeButtonStyle = closeButton.getAllStyles();
        closeButtonStyle.setBgColor(0xE52165);
        closeButtonStyle.setFgColor(0xFFFFFF);
        closeButtonStyle.setBgTransparency(255);
        closeButtonStyle.setPadding(5, 5, 5, 5); // Smaller padding for narrower button
        closeButtonStyle.setBorder(RoundRectBorder.create().shadowOpacity(100).cornerRadius(10));
        closeButton.addActionListener(e -> d.dispose());
        closeButton.setPreferredW(100); // Width of the button
        d.add(BorderLayout.SOUTH, closeButton);
        d.showPopupDialog(salaryField); // Show the dialog near the salary field


--------------------
--------------------
[[Kategorie:Codename One]]

Aktuelle Version vom 17. Juni 2024, 09:10 Uhr

1. Daten sammeln:

Die Daten für das Kreisdiagramm werden aus den Ausgabenfeldern gesammelt, die der Benutzer in der Benutzeroberfläche eingegeben hat. Diese Daten werden in einem CategorySeries Objekt gespeichert.


<syntaxhighlight lang="java">

private void showPieChart() {

       // Kreisdiagramm
       CategorySeries series = new CategorySeries("Ausgabenverteilung");
       for (int i = 0; i < expenseFields.size(); i++) {
           String category = expenseFields.get(i).getText();
           double cost = Double.parseDouble(costFields.get(i).getText());
           series.add(category, cost);
       }

</syntaxhighligtht>



2. Renderer einrichten:

Ein DefaultRenderer wird erstellt und konfiguriert. Dieser Renderer bestimmt das Aussehen des Diagramms, wie die Farben der Segmente, die Größe der Beschriftungen und ob die Werte angezeigt werden sollen.


// Set up the renderer

       DefaultRenderer renderer = buildCategoryRenderer(colors);
       renderer.setChartTitleTextSize(20);
       renderer.setLabelsTextSize(15);
       renderer.setDisplayValues(true);
       renderer.setShowLabels(true);

Der buildCategoryRenderer ist eine Methode, die den Renderer erstellt und die Farben der einzelnen Segmente festlegt.

 private DefaultRenderer buildCategoryRenderer(int[] colors) {
       DefaultRenderer renderer = new DefaultRenderer();
       renderer.setLabelsTextSize(15);
       renderer.setLegendTextSize(15);
       renderer.setMargins(new int[]{20, 30, 15, 0});
       for (int color : colors) {
           SimpleSeriesRenderer r = new SimpleSeriesRenderer();
           r.setColor(color);
           r.setGradientEnabled(true);
           r.setGradientStart(0, color);
           r.setGradientStop(0, color);
           renderer.addSeriesRenderer(r);
       }
       return renderer;
   }

3. Kreisdiagramm erstellen:

Ein PieChart Objekt wird mit den gesammelten Daten und dem konfigurierten Renderer erstellt.

PieChart chart  = new PieChart(series, renderer);
ChartComponent c = new ChartComponent(chart);

4. Anzeigen des Diagramms:

Das Kreisdiagramm wird in einem Dialog angezeigt, der erstellt und konfiguriert wird, um das Diagramm in der Benutzeroberfläche anzuzeigen. Ein Schließen-Button wird ebenfalls hinzugefügt.

// Create a dialog to display the pie chart
       Dialog d = new Dialog("Ausgabenverteilung", new BorderLayout());
       d.add(BorderLayout.CENTER, c);
       // Modern red close button for the dialog
       Button closeButton = new Button("Schließen");
       Style closeButtonStyle = closeButton.getAllStyles();
       closeButtonStyle.setBgColor(0xE52165);
       closeButtonStyle.setFgColor(0xFFFFFF);
       closeButtonStyle.setBgTransparency(255);
       closeButtonStyle.setPadding(5, 5, 5, 5); // Smaller padding for narrower button
       closeButtonStyle.setBorder(RoundRectBorder.create().shadowOpacity(100).cornerRadius(10));
       closeButton.addActionListener(e -> d.dispose());
       closeButton.setPreferredW(100); // Width of the button
       d.add(BorderLayout.SOUTH, closeButton);
       d.showPopupDialog(salaryField); // Show the dialog near the salary field