|
|
|
@ -288,15 +288,25 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
GridRange gridRange = GridRange.range(grid.getHorizontalBeginValue(), horizontalEndValue, grid.getVerticalBeginValue(), verticalEndValue) |
|
|
|
|
int xBeginIndex = grid.getHorizontalBeginValue(); |
|
|
|
|
int xEndIndex = horizontalEndValue; |
|
|
|
|
int yBeginIndex = grid.getVerticalBeginValue(); |
|
|
|
|
int yEndIndex = verticalEndValue; |
|
|
|
|
if (!grid.isShowExtraGridLine()) { |
|
|
|
|
xBeginIndex = 0; |
|
|
|
|
xEndIndex = Math.max(0, report.getColumnCount() - 1); |
|
|
|
|
yBeginIndex = 0; |
|
|
|
|
yEndIndex = Math.max(0, report.getRowCount() - 1); |
|
|
|
|
} |
|
|
|
|
GridRange gridRange = GridRange.range(xBeginIndex, xEndIndex, yBeginIndex, yEndIndex) |
|
|
|
|
.rangeList(rowHeightList, columnWidthList) |
|
|
|
|
.realSize(realWidth, realHeight); |
|
|
|
|
|
|
|
|
|
new DrawVerticalLineHelper(gridRange, grid.isShowGridLine(), |
|
|
|
|
new DrawVerticalLineHelper(gridRange, grid.isShowGridLine(), grid.isShowExtraGridLine(), |
|
|
|
|
isShowVerticalPaginateLine, paperPaintHeight, |
|
|
|
|
paginateLineList, resolution).iterateStart2End(g2d); |
|
|
|
|
|
|
|
|
|
new DrawHorizontalLineHelper(gridRange, grid.isShowGridLine(), |
|
|
|
|
new DrawHorizontalLineHelper(gridRange, grid.isShowGridLine(), grid.isShowExtraGridLine(), |
|
|
|
|
isShowHorizontalPaginateLine, paperPaintWidth, |
|
|
|
|
paginateLineList, resolution).iterateStart2End(g2d); |
|
|
|
|
} |
|
|
|
@ -320,6 +330,7 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
protected GridRange gridRange; |
|
|
|
|
|
|
|
|
|
protected boolean showGridLine; |
|
|
|
|
protected boolean showExtraGridLine; |
|
|
|
|
protected boolean showPaginateLine; |
|
|
|
|
|
|
|
|
|
protected double paperPaintSize; |
|
|
|
@ -332,11 +343,12 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
|
|
|
|
|
protected static final double THRESHOLD = 1.0E-4D; |
|
|
|
|
|
|
|
|
|
DrawLineHelper(GridRange gridRange, boolean showGridLine, |
|
|
|
|
DrawLineHelper(GridRange gridRange, boolean showGridLine, boolean showExtraGridLine, |
|
|
|
|
boolean showPaginateLine, double paperPaintSize, |
|
|
|
|
List paginateLineList, int resolution) { |
|
|
|
|
this.gridRange = gridRange; |
|
|
|
|
this.showGridLine = showGridLine; |
|
|
|
|
this.showExtraGridLine = showExtraGridLine; |
|
|
|
|
this.showPaginateLine = showPaginateLine; |
|
|
|
|
this.paperPaintSize = paperPaintSize; |
|
|
|
|
|
|
|
|
@ -353,10 +365,10 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
|
|
|
|
|
private class DrawVerticalLineHelper extends DrawLineHelper { |
|
|
|
|
|
|
|
|
|
DrawVerticalLineHelper(GridRange gridRange, boolean showGridLine, |
|
|
|
|
DrawVerticalLineHelper(GridRange gridRange, boolean showGridLine, boolean discardExtraGridLine, |
|
|
|
|
boolean showPaginateLine, double paperPaintSize, |
|
|
|
|
List paginateLineList, int resolution) { |
|
|
|
|
super(gridRange, showGridLine, showPaginateLine, |
|
|
|
|
super(gridRange, showGridLine, discardExtraGridLine, showPaginateLine, |
|
|
|
|
paperPaintSize, paginateLineList, resolution); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -372,7 +384,7 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected void iterateStart2End(Graphics2D g2d) { |
|
|
|
|
float rowHeight, paperYAxisSumSize = 0, yAxisSumSize = 0; |
|
|
|
|
float rowHeight, paperYAxisSumSize = 0, maxXAxisSumSize = 0, yAxisSumSize = 0; |
|
|
|
|
for (int i = 0; i <= gridRange.yEndIndex; i++) { |
|
|
|
|
if (i == 0) { |
|
|
|
|
i = gridRange.yBeginIndex; |
|
|
|
@ -397,6 +409,9 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
} |
|
|
|
|
xAxisSumSize += columnWidth; |
|
|
|
|
} |
|
|
|
|
if (xAxisSumSize > maxXAxisSumSize) { |
|
|
|
|
maxXAxisSumSize = xAxisSumSize; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (showPaginateLine && paperYAxisSumSize - paperPaintSize > THRESHOLD) { |
|
|
|
|
paginateLineList.add(getPaginateLine2D((int) yAxisSumSize)); |
|
|
|
@ -406,17 +421,21 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
} |
|
|
|
|
// paint 最后一个横线..
|
|
|
|
|
if (showGridLine) { |
|
|
|
|
drawLastLine(g2d, (int) yAxisSumSize); |
|
|
|
|
if (showExtraGridLine) { |
|
|
|
|
drawLastLine(g2d, (int) yAxisSumSize); |
|
|
|
|
} else { |
|
|
|
|
GraphHelper.drawLine(g2d, 0, yAxisSumSize, maxXAxisSumSize, yAxisSumSize); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private class DrawHorizontalLineHelper extends DrawLineHelper { |
|
|
|
|
|
|
|
|
|
DrawHorizontalLineHelper(GridRange gridRange, boolean showGridLine, |
|
|
|
|
DrawHorizontalLineHelper(GridRange gridRange, boolean showGridLine, boolean discardExtraGridLine, |
|
|
|
|
boolean showPaginateLine, double paperPaintSize, |
|
|
|
|
List paginateLineList, int resolution) { |
|
|
|
|
super(gridRange, showGridLine, showPaginateLine, |
|
|
|
|
super(gridRange, showGridLine, discardExtraGridLine, showPaginateLine, |
|
|
|
|
paperPaintSize, paginateLineList, resolution); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -432,7 +451,7 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected void iterateStart2End(Graphics2D g2d) { |
|
|
|
|
float columnWidth, paperXAxisSumSize = 0, xAxisSumSize = 0; |
|
|
|
|
float columnWidth, paperXAxisSumSize = 0, maxYAxisSumSize = 0, xAxisSumSize = 0; |
|
|
|
|
for (int i = 0; i <= gridRange.xEndIndex; i++) { |
|
|
|
|
if (i == 0) { |
|
|
|
|
i = gridRange.xBeginIndex; |
|
|
|
@ -456,6 +475,9 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
} |
|
|
|
|
yAxisSumSize += rowHeight; |
|
|
|
|
} |
|
|
|
|
if (yAxisSumSize > maxYAxisSumSize) { |
|
|
|
|
maxYAxisSumSize = yAxisSumSize; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (showPaginateLine && paperXAxisSumSize - paperPaintSize > THRESHOLD) { |
|
|
|
|
paginateLineList.add(getPaginateLine2D((int) xAxisSumSize)); |
|
|
|
@ -465,7 +487,11 @@ public class GridUI extends ComponentUI {
|
|
|
|
|
} |
|
|
|
|
// paint 最后一个横线..
|
|
|
|
|
if (showGridLine) { |
|
|
|
|
drawLastLine(g2d, (int) xAxisSumSize); |
|
|
|
|
if (showExtraGridLine) { |
|
|
|
|
drawLastLine(g2d, (int) xAxisSumSize); |
|
|
|
|
} else { |
|
|
|
|
GraphHelper.drawLine(g2d, xAxisSumSize, 0, xAxisSumSize, maxYAxisSumSize); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|