These tags are used for setting formatting Grid objects. They can be applied either to the whole grid or its parts.
| Tag | Explanation |
|---|---|
| GridPaintTags.DEFAULT | Style for setting color for the whole grid |
| GridPaintTags.OUTLINE | Style for setting line around the grid |
| GridPaintTags.VERTICAL | Style for setting vertical grid lines color |
| GridPaintTags.HORIZONTAL | Style for setting horizontal grid lines color |
Table 5.8.3.1 GridPaintTags
Usage:
1 | // sets grid's outline color grid.getPaintStyle().setForeground(GridPaintTags.OUTLINE, new Color(169,174,137).darker()); // sets that line width grid.getPaintStyle().setStroke(GridPaintTags.OUTLINE, new BasicStroke(2f)); // sets grid's paint mode grid.getPaintStyle().setPaintMode(GridPaintTags.DEFAULT,PaintMode.FILL_PAINT); // sets grid's background color grid.getPaintStyle().setBackground(GridPaintTags.DEFAULT,new Color(169,174,137, 60)); |
Figure 5.8.3.1 GridPaintTags Demonstration
1 | import java.awt.*; import javax.swing.JFrame; import lt.monarch.chart.chart2D.*; import lt.monarch.chart.chart2D.axis.*; import lt.monarch.chart.chart2D.engine.PlaneMapper2D; import lt.monarch.chart.chart2D.series.*; import lt.monarch.chart.engine.*; import lt.monarch.chart.mapper.MathAxisMapper; import lt.monarch.chart.marker.TextMarker; import lt.monarch.chart.models.ChartDataModel; import lt.monarch.chart.style.enums.*; import lt.monarch.chart.style.tags.*; import lt.monarch.chart.swing.JChartPanel; import lt.monarch.chart.view.LabeledChart; public class GridPaintTagsDemo extends JFrame { /** * Container for chart */ private JChartPanel m_chartPanel; /** * Constructor */ public GridPaintTagsDemo () { setLayout(new BorderLayout()); initChart(); add(m_chartPanel, BorderLayout.CENTER); } /** * Method for setting chart */ protected void initChart() { ChartDataModel modelX = generateXModel(); /* * Setting mappers */ MathAxisMapper xMapper = new MathAxisMapper(0, 516); MathAxisMapper yMapper = new MathAxisMapper(33.0, 34.5); /* * Setting series */ LineSeries lineX = new LineSeries(modelX, new PlaneMapper2D(), xMapper, yMapper); lineX.setValidateData(true); lineX.setShowNullValues(true); //lineX.setName("X"); lineX.getPaintStyle().setStroke(new BasicStroke(2)); lineX.getPaintStyle().setForeground(SeriesPaintTags.DEFAULT, new Color(49, 119, 31)); lineX.getPaintStyle().setForeground(SeriesPaintTags.NULL, new Color(49, 119, 31)); lineX.setStrategy(LineStrategies.SPLINE_STRATEGY); /* * Setting Axes */ Axis2DX axisX = new Axis2DX(xMapper); axisX.setTitle("Depth, m"); axisX.getTitleSettings().setPosition(TitlePosition.BELOW); axisX.getLabelSettings().setRotationAngle(-0.8); Axis2DY axisY = new Axis2DY(yMapper); axisY.setTitle("Salinality"); // Setting TextMarker TextMarker textMarker = new TextMarker("LATITUDE: 34 53.4 N\nLONGITUDE: 121 11.7 W\nBAROMETER: 1013.7 mb\nDATE: 1999-1-22", axisX, axisY); // Setting where text marker should stand textMarker.setPosition(350, 33.5); // setting background colour textMarker.getPaintStyle().setBackground(new Color(62, 62, 62).brighter()); textMarker.getPaintStyle().setShadowOffset(-2, -2); // setting text's font textMarker.getTextStyle().setFont(new Font("tahoma", Font.BOLD, 10)); // setting text's colour textMarker.getTextStyle().setColor(Color.WHITE); // setting where text should stand textMarker.setAlignment(Alignment.RIGHT, Alignment.BOTTOM); textMarker.getPaintStyle().setTransparencyValue(225); /* * Creating grid */ Grid grid = new Grid(null, yMapper); grid.setYGridDepth(20); // sets that outline colour grid.getPaintStyle().setForeground(GridPaintTags.OUTLINE, new Color(169, 174, 137).darker()); // sets that line width grid.getPaintStyle().setStroke(GridPaintTags.OUTLINE, new BasicStroke(2f)); // sets grid's paint mode grid.getPaintStyle().setPaintMode(GridPaintTags.DEFAULT, PaintMode.FILL_PAINT); // sets grid's background colour grid.getPaintStyle().setBackground(GridPaintTags.DEFAULT, new Color(169, 174, 137, 60)); /* * Creating the chart and add objects */ Chart2D chart = new Chart2D(); chart.setObjects(new ChartObject[] { grid, lineX, textMarker }); chart.setYAxis(axisY); chart.setXAxis(axisX); /* * Set the title of chart */ LabeledChart topChart = new LabeledChart(chart); topChart.setTitle("CALCOFI CRUISE 0901 Hydrographic Data"); /* * Add topChart to panel */ m_chartPanel = new JChartPanel(topChart); add(m_chartPanel, BorderLayout.CENTER); m_chartPanel.setHotSpotMap(new SimpleHotSpotMap()); } /** * Generates chart data model */ private ChartDataModel generateXModel() { ChartDataModel modelX = new ChartDataModel(); modelX.add(new Object[] { 0, 33.385 }); modelX.add(new Object[] { 2, 33.385 }); modelX.add(new Object[] { 9, 33.401 }); modelX.add(new Object[] { 9, 33.400 }); modelX.add(new Object[] { 10, 33.399 }); modelX.add(new Object[] { 19, 33.411 }); modelX.add(new Object[] { 20, 33.413 }); modelX.add(new Object[] { 30, 33.423 }); modelX.add(new Object[] { 39, 33.459 }); modelX.add(new Object[] { 49, 33.550 }); modelX.add(new Object[] { 50, 33.557 }); modelX.add(new Object[] { 59, 33.646 }); modelX.add(new Object[] { 70, 33.700 }); modelX.add(new Object[] { 75, 33.743 }); modelX.add(new Object[] { 84, 33.765 }); modelX.add(new Object[] { 99, 33.829 }); modelX.add(new Object[] { 100, 33.853 }); modelX.add(new Object[] { 119, 33.935 }); modelX.add(new Object[] { 125, 33.962 }); modelX.add(new Object[] { 139, 34.014 }); modelX.add(new Object[] { 150, 34.044 }); modelX.add(new Object[] { 167, 34.092 }); modelX.add(new Object[] { 199, 34.144 }); modelX.add(new Object[] { 200, 34.148 }); modelX.add(new Object[] { 228, 34.139 }); modelX.add(new Object[] { 250, 34.141 }); modelX.add(new Object[] { 268, 34.145 }); modelX.add(new Object[] { 300, 34.155 }); modelX.add(new Object[] { 318, 34.178 }); modelX.add(new Object[] { 377, 34.206 }); modelX.add(new Object[] { 400, 34.214 }); modelX.add(new Object[] { 438, 34.245 }); modelX.add(new Object[] { 500, 34.254 }); modelX.add(new Object[] { 515, 34.266 }); return modelX; } /** * Initialization the chart */ public static void main(String[] args) { GridPaintTagsDemo frame = new GridPaintTagsDemo(); frame.setSize(new Dimension(600, 400)); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setTitle("CALCOFI CRUISE 0901 Hydrographic Data"); frame.setVisible(true); } } |