commit 97ae19cd7027be8a7aaed942c059384e109c6327
parent be2853a9e4e69dd1b39855bc87bec39f0e9da244
Author: Michael Neuper <michael@michaelneuper.com>
Date: Fri, 12 May 2023 19:40:41 +0200
Add StatisticsChart to StatisticsUI
Diffstat:
2 files changed, 97 insertions(+), 118 deletions(-)
diff --git a/src/view/StatisticsUI.form b/src/view/StatisticsUI.form
@@ -20,7 +20,7 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-123,0,0,3,40"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,29,0,0,3,-40"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
@@ -36,24 +36,24 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="280" max="-2" attributes="0"/>
- <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace pref="325" max="32767" attributes="0"/>
+ <EmptySpace min="-2" pref="349" max="-2" attributes="0"/>
+ <Component id="jLabelStatistics" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="432" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
- <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace pref="21" max="32767" attributes="0"/>
+ <EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
+ <Component id="jLabelStatistics" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="22" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel1">
+ <Component class="javax.swing.JLabel" name="jLabelStatistics">
<Properties>
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
<Font name="Segoe UI" size="48" style="1"/>
@@ -63,7 +63,7 @@
</Component>
</SubComponents>
</Container>
- <Container class="javax.swing.JPanel" name="jPanel1">
+ <Container class="javax.swing.JPanel" name="jPanelCenter">
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
<BorderConstraints direction="Center"/>
@@ -74,44 +74,53 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
- <Component id="jPanelStatisticsText" min="-2" max="-2" attributes="0"/>
+ <Component id="jPanelStatisticsText" min="-2" pref="286" max="-2" attributes="0"/>
+ <EmptySpace type="unrelated" max="-2" attributes="0"/>
+ <Component id="statisticsChart1" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
- <Component id="jPanelStatisticsChart" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
- <Component id="jPanelStatisticsChart" max="32767" attributes="0"/>
<Component id="jPanelStatisticsText" alignment="1" max="32767" attributes="0"/>
+ <Group type="102" alignment="1" attributes="0">
+ <EmptySpace pref="13" max="32767" attributes="0"/>
+ <Component id="statisticsChart1" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ </Group>
</Group>
</DimensionLayout>
</Layout>
<SubComponents>
+ <Component class="view.StatisticsChart" name="statisticsChart1">
+ </Component>
<Container class="javax.swing.JPanel" name="jPanelStatisticsText">
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace min="-2" pref="69" max="-2" attributes="0"/>
+ <Group type="102" attributes="0">
+ <EmptySpace min="-2" pref="40" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jLabelPushes" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="jLabelLosses" alignment="0" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="40" max="32767" attributes="0"/>
- <Group type="103" groupAlignment="0" max="-2" attributes="0">
- <Component id="jLabelWinsAmount" min="-2" pref="136" max="-2" attributes="0"/>
- <Component id="jLabelLossesAmount" pref="137" max="32767" attributes="0"/>
- <Component id="jLabelPushesAmount" alignment="0" max="32767" attributes="0"/>
- </Group>
- <EmptySpace min="-2" pref="86" max="-2" attributes="0"/>
- </Group>
- <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
<Component id="jLabelWins" min="-2" max="-2" attributes="0"/>
- <EmptySpace pref="261" max="32767" attributes="0"/>
+ </Group>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace max="32767" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelWinsAmount" min="-2" pref="136" max="-2" attributes="0"/>
+ <Component id="jLabelPushesAmount" alignment="0" min="-2" pref="137" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="115" max="-2" attributes="0"/>
+ </Group>
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jLabelLossesAmount" min="-2" pref="137" max="-2" attributes="0"/>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
</Group>
</Group>
</Group>
@@ -119,26 +128,22 @@
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="38" max="-2" attributes="0"/>
- <Component id="jLabelWinsAmount" min="-2" pref="43" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="94" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelWinsAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
+ <Component id="jLabelWins" alignment="3" min="-2" max="-2" attributes="0"/>
+ </Group>
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabelLosses" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelPushesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
+ <Component id="jLabelLossesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="jLabelPushes" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelLossesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="67" max="32767" attributes="0"/>
- </Group>
- <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="43" max="-2" attributes="0"/>
- <Component id="jLabelWins" min="-2" max="-2" attributes="0"/>
- <EmptySpace pref="212" max="32767" attributes="0"/>
+ <Component id="jLabelPushesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
</Group>
+ <EmptySpace max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@@ -200,21 +205,6 @@
</Component>
</SubComponents>
</Container>
- <Container class="javax.swing.JPanel" name="jPanelStatisticsChart">
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="391" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- </Layout>
- </Container>
</SubComponents>
</Container>
</SubComponents>
diff --git a/src/view/StatisticsUI.java b/src/view/StatisticsUI.java
@@ -2,8 +2,6 @@ package view;
import com.formdev.flatlaf.FlatDarkLaf;
import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import model.Statistics;
@@ -20,7 +18,7 @@ import model.Statistics;
* <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
*/
public class StatisticsUI extends javax.swing.JFrame {
-
+
Statistics stats;
/**
@@ -45,8 +43,9 @@ public class StatisticsUI extends javax.swing.JFrame {
private void initComponents() {
jPanelNorth = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jPanel1 = new javax.swing.JPanel();
+ jLabelStatistics = new javax.swing.JLabel();
+ jPanelCenter = new javax.swing.JPanel();
+ statisticsChart1 = new view.StatisticsChart();
jPanelStatisticsText = new javax.swing.JPanel();
jLabelLosses = new javax.swing.JLabel();
jLabelWins = new javax.swing.JLabel();
@@ -54,30 +53,29 @@ public class StatisticsUI extends javax.swing.JFrame {
jLabelWinsAmount = new javax.swing.JLabel();
jLabelLossesAmount = new javax.swing.JLabel();
jLabelPushesAmount = new javax.swing.JLabel();
- jPanelStatisticsChart = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Statistics");
setAlwaysOnTop(true);
- jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 48)); // NOI18N
- jLabel1.setText("Statistics");
+ jLabelStatistics.setFont(new java.awt.Font("Segoe UI", 1, 48)); // NOI18N
+ jLabelStatistics.setText("Statistics");
javax.swing.GroupLayout jPanelNorthLayout = new javax.swing.GroupLayout(jPanelNorth);
jPanelNorth.setLayout(jPanelNorthLayout);
jPanelNorthLayout.setHorizontalGroup(
jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelNorthLayout.createSequentialGroup()
- .addGap(280, 280, 280)
- .addComponent(jLabel1)
- .addContainerGap(325, Short.MAX_VALUE))
+ .addGap(349, 349, 349)
+ .addComponent(jLabelStatistics)
+ .addContainerGap(432, Short.MAX_VALUE))
);
jPanelNorthLayout.setVerticalGroup(
jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelNorthLayout.createSequentialGroup()
- .addGap(17, 17, 17)
- .addComponent(jLabel1)
- .addContainerGap(21, Short.MAX_VALUE))
+ .addGap(16, 16, 16)
+ .addComponent(jLabelStatistics)
+ .addContainerGap(22, Short.MAX_VALUE))
);
getContentPane().add(jPanelNorth, java.awt.BorderLayout.NORTH);
@@ -104,71 +102,62 @@ public class StatisticsUI extends javax.swing.JFrame {
jPanelStatisticsText.setLayout(jPanelStatisticsTextLayout);
jPanelStatisticsTextLayout.setHorizontalGroup(
jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelStatisticsTextLayout.createSequentialGroup()
- .addGap(69, 69, 69)
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addGap(40, 40, 40)
.addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelPushes)
- .addComponent(jLabelLosses))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 40, Short.MAX_VALUE)
- .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)
- .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGap(86, 86, 86))
- .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
- .addGap(71, 71, 71)
- .addComponent(jLabelWins)
- .addContainerGap(261, Short.MAX_VALUE)))
+ .addComponent(jLabelLosses)
+ .addComponent(jLabelWins))
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(115, 115, 115))
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
jPanelStatisticsTextLayout.setVerticalGroup(
jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
- .addGap(38, 38, 38)
- .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(94, 94, 94)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelWins))
.addGap(27, 27, 27)
.addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelLosses)
- .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelPushes)
- .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(67, Short.MAX_VALUE))
- .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
- .addGap(43, 43, 43)
- .addComponent(jLabelWins)
- .addContainerGap(212, Short.MAX_VALUE)))
- );
-
- javax.swing.GroupLayout jPanelStatisticsChartLayout = new javax.swing.GroupLayout(jPanelStatisticsChart);
- jPanelStatisticsChart.setLayout(jPanelStatisticsChartLayout);
- jPanelStatisticsChartLayout.setHorizontalGroup(
- jPanelStatisticsChartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 391, Short.MAX_VALUE)
- );
- jPanelStatisticsChartLayout.setVerticalGroup(
- jPanelStatisticsChartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addComponent(jPanelStatisticsText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jPanelStatisticsChart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ javax.swing.GroupLayout jPanelCenterLayout = new javax.swing.GroupLayout(jPanelCenter);
+ jPanelCenter.setLayout(jPanelCenterLayout);
+ jPanelCenterLayout.setHorizontalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addComponent(jPanelStatisticsText, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(statisticsChart1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
);
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanelStatisticsChart, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ jPanelCenterLayout.setVerticalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanelStatisticsText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelCenterLayout.createSequentialGroup()
+ .addContainerGap(13, Short.MAX_VALUE)
+ .addComponent(statisticsChart1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
);
- getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
+ getContentPane().add(jPanelCenter, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>//GEN-END:initComponents
@@ -191,16 +180,16 @@ public class StatisticsUI extends javax.swing.JFrame {
}
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabelLosses;
private javax.swing.JLabel jLabelLossesAmount;
private javax.swing.JLabel jLabelPushes;
private javax.swing.JLabel jLabelPushesAmount;
+ private javax.swing.JLabel jLabelStatistics;
private javax.swing.JLabel jLabelWins;
private javax.swing.JLabel jLabelWinsAmount;
- private javax.swing.JPanel jPanel1;
+ private javax.swing.JPanel jPanelCenter;
private javax.swing.JPanel jPanelNorth;
- private javax.swing.JPanel jPanelStatisticsChart;
private javax.swing.JPanel jPanelStatisticsText;
+ private view.StatisticsChart statisticsChart1;
// End of variables declaration//GEN-END:variables
}