- priority: 5 --> 1
When a frameset has frames which have a length=0 (vertical or horizontal), in IE those frames are here but hidden. Lobo still displays a separator bar.
I propose this modification below (or similar) in the FrameSetPanel object (see //AM comments):
private Component getSplitPane(HtmlRendererContext context,
int[] colLengths, int firstCol, int numCols, int[] rowLengths,
int firstRow, int numRows, Component[] frameComponents) {
if (numCols == 1) {
int frameindex = colLengths.length * firstRow + firstCol;
Component topComponent = frameindex < frameComponents.length ? frameComponents[frameindex]
: null;
if (numRows == 1) {
return topComponent;
} else {
Component bottomComponent = this.getSplitPane(context,
colLengths, firstCol, numCols, rowLengths,
firstRow + 1, numRows - 1, frameComponents);
JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
topComponent, bottomComponent);
sp.setDividerLocation(rowLengths[firstRow]);
// AM
// If frame size is 0, hide it
if (firstRow < (rowLengths.length - 1)) {
if (rowLengths[firstRow] == 0) {
sp.setDividerSize(0);
topComponent.setVisible(false);
}
if (rowLengths[firstRow + 1] == 0) {
sp.setDividerSize(0);
bottomComponent.setVisible(false);
}
}
// AM END
return sp;
}
} else {
Component rightComponent = this.getSplitPane(context, colLengths,
firstCol + 1, numCols - 1, rowLengths, firstRow, numRows,
frameComponents);
Component leftComponent = this
.getSplitPane(context, colLengths, firstCol, 1, rowLengths,
firstRow, numRows, frameComponents);
JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
leftComponent, rightComponent);
sp.setDividerLocation(colLengths[firstCol]);
// AM
// If frame size is 0, hide it
if (firstCol < (colLengths.length - 1)) {
if (colLengths[firstCol] == 0) {
sp.setDividerSize(0);
leftComponent.setVisible(false);
}
if (colLengths[firstCol + 1] == 0) {
sp.setDividerSize(0);
rightComponent.setVisible(false);
}
}
// AM END
return sp;
}