本文整理汇总了Java中org.jline.utils.AttributedStringBuilder.length方法的典型用法代码示例。如果您正苦于以下问题:Java AttributedStringBuilder.length方法的具体用法?Java AttributedStringBuilder.length怎么用?Java AttributedStringBuilder.length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jline.utils.AttributedStringBuilder
的用法示例。
在下文中一共展示了AttributedStringBuilder.length方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: separator
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
static void separator(int[] widths, int width, AttributedStringBuilder asb) {
int currentWidth = 0;
int startLen = asb.length();
for (int i = 0; i < widths.length; i++) {
View.repeat(asb, widths[i], '─');
currentWidth += widths[i];
if (i < widths.length - 1) {
asb.append('┼');
currentWidth++;
}
if (currentWidth > width) {
asb.setLength(startLen + width);
break;
}
}
}
示例2: boxLine
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
private void boxLine(AttributedStringBuilder asb, Box box, int line, int height, int width) {
int startLen = asb.length();
if (width > 0) {
asb.append('║');
}
box.line(asb, line, max(0, width - 2), height);
if (asb.length() - startLen > width - 1) {
asb.setLength(startLen + width - 1);
} else {
View.repeat(asb, width - 1 - (asb.length() - startLen), ' ');
}
if (width > 1) {
asb.append('║');
}
}
示例3: line
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
private void line(int width, List<Column> columns, int[] widths, int row, AttributedStringBuilder asb) {
int currentWidth = 0;
int startLen = asb.length();
if (isActive() && row == selectedRow) {
asb.style(AttributedStyle.INVERSE);
}
for (int i = 0; i < widths.length; i++) {
Column column = columns.get(i);
column.cell(asb, row, widths[i]);
currentWidth += widths[i];
if (asb.length() - startLen > currentWidth) {
if (widths[i] > 0) {
asb.setLength(startLen + currentWidth - 1);
asb.append('…');
} else {
asb.setLength(startLen + currentWidth);
}
} else if (asb.length() - startLen < currentWidth) {
int cellStart = startLen + currentWidth - widths[i];
int extraSpace = currentWidth - (asb.length() - startLen);
AttributedString content = asb.subSequence(cellStart, asb.length());
asb.setLength(cellStart);
View.repeat(asb, extraSpace, ' ');
asb.append(content);
}
if (i < widths.length - 1) {
asb.append('│');
currentWidth++;
}
if (currentWidth > width) {
asb.setLength(startLen + width);
break;
}
}
asb.style(AttributedStyle.INVERSE_OFF);
}
示例4: header
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
private static void header(int width, List<Column> columns, int[] widths, AttributedStringBuilder asb) {
int currentWidth = 0;
int startLen = asb.length();
for (int i = 0; i < widths.length; i++) {
Column column = columns.get(i);
asb.append(column.name());
currentWidth += widths[i];
if (asb.length() - startLen > currentWidth) {
if (widths[i] > 0) {
asb.setLength(startLen + currentWidth - 1);
asb.append('…');
} else {
asb.setLength(startLen + currentWidth);
}
} else {
View.repeat(asb, currentWidth - (asb.length() - startLen), ' ');
}
if (i < widths.length - 1) {
asb.append('│');
currentWidth++;
}
if (currentWidth > width) {
asb.setLength(startLen + width);
break;
}
}
}
示例5: bottom
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
static void bottom(int[] widths, int width, AttributedStringBuilder asb) {
int currentWidth = 0;
int startLen = asb.length();
for (int w : widths) {
asb.append('╚');
View.repeat(asb, w, '═');
asb.append('╝');
currentWidth += w + 2;
if (currentWidth > width) {
asb.setLength(startLen + width);
break;
}
}
}
示例6: top
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
static void top(int width, List<Box> boxes, int[] widths, AttributedStringBuilder asb) {
int currentWidth = 0;
int startLen = asb.length();
for (int i = 0; i < widths.length; i++) {
Box box = boxes.get(i);
asb.append('╔');
currentWidth++;
if (widths[i] > 1) {
asb.append('═');
}
asb.append(box.name());
currentWidth += widths[i];
if (asb.length() - startLen > currentWidth) {
if (widths[i] > 0) {
asb.setLength(startLen + currentWidth - 1);
asb.append('…');
} else {
asb.setLength(startLen + currentWidth);
}
} else {
View.repeat(asb, currentWidth - (asb.length() - startLen), '═');
}
asb.append('╗');
currentWidth++;
if (currentWidth > width) {
asb.setLength(startLen + width);
break;
}
}
}