📄 multicoloredbarrenderer.java
字号:
package com.jsystemtrader.chart;
import java.awt.*;
import java.awt.geom.*;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.xy.*;
import org.jfree.data.xy.*;
/**
* Custom renderer for the HighLowChart to paint OHLC bars in different colors.
* This functionality is not yet available in JFreeChart, thus the need for a
* custom renderer.
*/
class MultiColoredBarRenderer extends HighLowRenderer {
private static final Color BULLISH_COLOR = Color.GREEN;
private static final Color BEARISH_COLOR = Color.RED; // TWS default is Color(255, 141, 51)
private static final Color NEUTRAL_COLOR = Color.YELLOW;
private OHLCDataset dataset;
public MultiColoredBarRenderer() {
super();
}
public Paint getItemPaint(int series, int item) {
double open = dataset.getOpenValue(series, item);
double close = dataset.getCloseValue(series, item);
if (open == close) {
return NEUTRAL_COLOR;
} else {
return (close > open) ? BULLISH_COLOR : BEARISH_COLOR;
}
}
public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset,
PlotRenderingInfo info) {
this.dataset = (OHLCDataset) dataset;
return super.initialise(g2, dataArea, plot, dataset, info);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -