CodeName One Kreisdiagramm: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 37: | Zeile 37: | ||
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; | |||
} | |||
------- | ------- | ||
Zeile 45: | Zeile 60: | ||
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); | |||
--------------------- | --------------------- | ||
Zeile 52: | Zeile 68: | ||
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 | |||
-------------------- | -------------------- |
Version vom 17. Juni 2024, 09:02 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