diff --git a/xchart/src/main/java/org/knowm/xchart/XChartPanel.java b/xchart/src/main/java/org/knowm/xchart/XChartPanel.java
index 34434c22fdd1884a878a389ce80ce65149375bbf..87f3d3abf581adbb276c1fd15b997ae6bf0cd4e4 100644
--- a/xchart/src/main/java/org/knowm/xchart/XChartPanel.java
+++ b/xchart/src/main/java/org/knowm/xchart/XChartPanel.java
@@ -52,9 +52,9 @@ import org.knowm.xchart.internal.chartpart.Chart;
  *
  * @author timmolter
  */
-public class XChartPanel extends JPanel {
+public class XChartPanel<T extends Chart> extends JPanel {
 
-  private final Chart chart;
+  private final T chart;
   private final Dimension preferredSize;
   private String saveAsString = "Save As...";
 
@@ -63,7 +63,7 @@ public class XChartPanel extends JPanel {
    *
    * @param chart
    */
-  public XChartPanel(final Chart chart) {
+  public XChartPanel(final T chart) {
 
     this.chart = chart;
     preferredSize = new Dimension(chart.getWidth(), chart.getHeight());
@@ -97,7 +97,7 @@ public class XChartPanel extends JPanel {
     g2d.dispose();
   }
 
-  public Chart getChart() {
+  public T getChart() {
 
     return this.chart;
   }