|
|
@ -5,6 +5,7 @@ import com.fr.base.ScreenResolution; |
|
|
|
import com.fr.base.chart.BaseChart; |
|
|
|
import com.fr.base.chart.BaseChart; |
|
|
|
import com.fr.base.chart.BaseChartCollection; |
|
|
|
import com.fr.base.chart.BaseChartCollection; |
|
|
|
import com.fr.base.chart.BaseChartGlyph; |
|
|
|
import com.fr.base.chart.BaseChartGlyph; |
|
|
|
|
|
|
|
import com.fr.base.chart.chartdata.CallbackEvent; |
|
|
|
import com.fr.chart.base.ChartConstants; |
|
|
|
import com.fr.chart.base.ChartConstants; |
|
|
|
import com.fr.chart.chartattr.Axis; |
|
|
|
import com.fr.chart.chartattr.Axis; |
|
|
|
import com.fr.chart.chartattr.Chart; |
|
|
|
import com.fr.chart.chartattr.Chart; |
|
|
@ -31,7 +32,7 @@ import java.util.List; |
|
|
|
* 类说明: 事件说明: 工具栏编辑--> 是刷新ChartComponent 然后响应整个设计块的改变事件 |
|
|
|
* 类说明: 事件说明: 工具栏编辑--> 是刷新ChartComponent 然后响应整个设计块的改变事件 |
|
|
|
右键编辑 ---> 刷新ChartCompment 刷新对应的工具栏(加入事件) 然后响应整个设计块的改变事件 |
|
|
|
右键编辑 ---> 刷新ChartCompment 刷新对应的工具栏(加入事件) 然后响应整个设计块的改变事件 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public class ChartComponent extends MiddleChartComponent implements MouseListener, MouseMotionListener { |
|
|
|
public class ChartComponent extends MiddleChartComponent implements MouseListener, MouseMotionListener, CallbackEvent{ |
|
|
|
private static final long serialVersionUID = 744164838619052097L; |
|
|
|
private static final long serialVersionUID = 744164838619052097L; |
|
|
|
private final List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>(); |
|
|
|
private final List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>(); |
|
|
|
private ChartCollection chartCollection4Design; |
|
|
|
private ChartCollection chartCollection4Design; |
|
|
@ -181,6 +182,7 @@ public class ChartComponent extends MiddleChartComponent implements MouseListene |
|
|
|
// 反锯齿
|
|
|
|
// 反锯齿
|
|
|
|
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); |
|
|
|
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//画图
|
|
|
|
drawChartGlyph(g2d); |
|
|
|
drawChartGlyph(g2d); |
|
|
|
|
|
|
|
|
|
|
|
ActiveGlyph ag = this.getActiveGlyph(); |
|
|
|
ActiveGlyph ag = this.getActiveGlyph(); |
|
|
@ -222,9 +224,9 @@ public class ChartComponent extends MiddleChartComponent implements MouseListene |
|
|
|
/** |
|
|
|
/** |
|
|
|
* 鼠标点击 |
|
|
|
* 鼠标点击 |
|
|
|
* @param event 鼠标事件 |
|
|
|
* @param event 鼠标事件 |
|
|
|
|
|
|
|
* 不设置鼠标点击跳转事件 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void mouseClicked(MouseEvent event) { |
|
|
|
public void mouseClicked(MouseEvent event) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -302,7 +304,7 @@ public class ChartComponent extends MiddleChartComponent implements MouseListene |
|
|
|
return chartGlyph == null || chartWidth != this.getBounds().width || chartHeight != this.getBounds().height; |
|
|
|
return chartGlyph == null || chartWidth != this.getBounds().width || chartHeight != this.getBounds().height; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void drawChartGlyph(Graphics2D g2d) { |
|
|
|
public void drawChartGlyph(Graphics2D g2d) { |
|
|
|
if (chartGlyph != null) { |
|
|
|
if (chartGlyph != null) { |
|
|
|
if (chartGlyph.isRoundBorder()) { |
|
|
|
if (chartGlyph.isRoundBorder()) { |
|
|
|
chartGlyph.setBounds(new RoundRectangle2D.Double(0, 0, chartWidth, chartHeight, 10, 10)); |
|
|
|
chartGlyph.setBounds(new RoundRectangle2D.Double(0, 0, chartWidth, chartHeight, 10, 10)); |
|
|
@ -312,10 +314,14 @@ public class ChartComponent extends MiddleChartComponent implements MouseListene |
|
|
|
// chartGlyph.draw(g2d, ScreenResolution.getScreenResolution());
|
|
|
|
// chartGlyph.draw(g2d, ScreenResolution.getScreenResolution());
|
|
|
|
//不直接画chartGlyph而画image的原因是表单的柱形图会溢出表单
|
|
|
|
//不直接画chartGlyph而画image的原因是表单的柱形图会溢出表单
|
|
|
|
//其他图都ok,其实感觉应该是柱形图画的不对,应该也可以改那边
|
|
|
|
//其他图都ok,其实感觉应该是柱形图画的不对,应该也可以改那边
|
|
|
|
Image chartImage = chartGlyph.toImage(chartWidth,chartHeight,ScreenResolution.getScreenResolution()); |
|
|
|
//处理画图事件
|
|
|
|
|
|
|
|
Image chartImage = chartGlyph.toImage(chartWidth,chartHeight,ScreenResolution.getScreenResolution(), this); |
|
|
|
g2d.drawImage(chartImage, 0, 0, null); |
|
|
|
g2d.drawImage(chartImage, 0, 0, null); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void callback() { |
|
|
|
|
|
|
|
this.repaint(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |