diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/LinePlotBase.java b/ch.psi.plot/src/main/java/ch/psi/plot/LinePlotBase.java index dfff031..a651866 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/LinePlotBase.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/LinePlotBase.java @@ -17,10 +17,10 @@ import javax.swing.JPanel; /** * TODO: FDA calls to .update -> requestUpdate() */ -abstract public class LinePlotBase extends PlotBase implements LinePlot { - +abstract public class LinePlotBase extends PlotBase implements LinePlot { private String xAxisLabel = "X"; private String yAxisLabel = "Y"; + protected LinePlotBase() { this(null); @@ -31,6 +31,7 @@ abstract public class LinePlotBase extends PlotBase implements L } + @Override protected void createChart() { super.createChart(); @@ -122,6 +123,8 @@ abstract public class LinePlotBase extends PlotBase implements L try { LinePlot p = newPlot(e.getActionCommand()); p.setTitle(getTitle()); + if (getTitleFont()!=null) + p.setTitleFont(getTitleFont()); p.getAxis(AxisId.X).setLabel(getAxis(AxisId.X).getLabel()); p.getAxis(AxisId.Y).setLabel(getAxis(AxisId.Y).getLabel()); for (LinePlotSeries series : getAllSeries()) { diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java b/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java index e6f53d7..78a3897 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java @@ -3,6 +3,7 @@ */ package ch.psi.plot; +import java.awt.Font; import java.awt.image.BufferedImage; import java.io.IOException; import javax.swing.JPanel; @@ -21,8 +22,9 @@ public interface Plot{ //Generic properties public void setTitle(String title); - public String getTitle(); + public void setTitleFont(Font font); + public Font getTitleFont(); //Generic operations public void saveData(String filename) throws IOException; diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java b/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java index 9911b24..f0070c5 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java @@ -8,6 +8,7 @@ import ch.psi.plot.utils.MonitoredPanel; import ch.psi.plot.utils.SwingUtils; import ch.psi.plot.utils.SwingUtils.ExtensionFileFilter; import ch.psi.plot.utils.SwingUtils.ImageTransferHandler; +import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Toolkit; @@ -87,6 +88,19 @@ abstract public class PlotBase extends MonitoredPanel impl public String getTitle() { return title; } + + + Font titleFont; + + public void setTitleFont(Font font) { + this.titleFont = font; + if (instantiated) + onTitleChanged(); + } + + public Font getTitleFont() { + return titleFont; + } volatile boolean bUpdating; diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/jfree/LinePlot.java b/ch.psi.plot/src/main/java/ch/psi/plot/jfree/LinePlot.java index 197a042..b07f31d 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/jfree/LinePlot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/jfree/LinePlot.java @@ -202,7 +202,10 @@ public class LinePlot extends LinePlotBase { @Override protected void onTitleChanged() { chartPanel.setName(getTitle()); - chart.setTitle(getTitle()); + chart.setTitle(getTitle()); + if(getTitleFont()!=null) + chart.getTitle().setFont(getTitleFont()); + } @Override diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/jfree/MatrixPlot.java b/ch.psi.plot/src/main/java/ch/psi/plot/jfree/MatrixPlot.java index 51bc3b6..38185a1 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/jfree/MatrixPlot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/jfree/MatrixPlot.java @@ -99,6 +99,8 @@ public class MatrixPlot extends MatrixPlotBase { protected void onTitleChanged() { chartPanel.setName(getTitle()); chart.setTitle(getTitle()); + if(getTitleFont()!=null) + chart.getTitle().setFont(getTitleFont()); } @Override diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/jlchart/LinePlot.java b/ch.psi.plot/src/main/java/ch/psi/plot/jlchart/LinePlot.java index 8320b4e..beeb61b 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/jlchart/LinePlot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/jlchart/LinePlot.java @@ -185,6 +185,8 @@ public class LinePlot extends LinePlotBase { @Override protected void onTitleChanged() { plot.setHeader(getTitle()); + if(getTitleFont()!=null) + plot.setHeaderFont(getTitleFont()); } @Override diff --git a/ch.psi.plot/src/test/java/LinePlotTest.java b/ch.psi.plot/src/test/java/LinePlotTest.java index 3bb6d38..da23646 100644 --- a/ch.psi.plot/src/test/java/LinePlotTest.java +++ b/ch.psi.plot/src/test/java/LinePlotTest.java @@ -20,8 +20,8 @@ public class LinePlotTest { //for(int i=0;i<10;i++) { //LinePlot linePlot = ServiceLoader.load(LinePlot.class).iterator().next(); - //LinePlot linePlot = new ch.psi.plot.jlchart.LinePlot(); - LinePlot linePlot = new ch.psi.plot.jfree.LinePlot(); + LinePlot linePlot = new ch.psi.plot.jlchart.LinePlot(); + //LinePlot linePlot = new ch.psi.plot.jfree.LinePlot(); //LinePlot linePlot = new ch.psi.plot.javafx.LinePlot() ; linePlot.setTitle("Title");