本文整理汇总了Java中org.jline.utils.AttributedStringBuilder.style方法的典型用法代码示例。如果您正苦于以下问题:Java AttributedStringBuilder.style方法的具体用法?Java AttributedStringBuilder.style怎么用?Java AttributedStringBuilder.style使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jline.utils.AttributedStringBuilder
的用法示例。
在下文中一共展示了AttributedStringBuilder.style方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parse
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
public static String parse(String input, Terminal terminal) {
if (input == null || !input.contains("{{") || !input.contains("}}")) {
return input;
}
final AttributedStringBuilder asb = new AttributedStringBuilder(input.length());
AnsiStyleHandler handler = new AnsiStyleHandler() {
@Override
public void character(char c) {
asb.append(c);
}
@Override
public void attribute(String... attrs) {
asb.style(makeStyle(asb.style(), attrs));
}
};
handler.handle(input);
return asb.toAnsi(terminal);
}
示例2: 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);
}
示例3: appendLines
import org.jline.utils.AttributedStringBuilder; //导入方法依赖的package包/类
@Override
public void appendLines(List<AttributedString> lines, int width, int height) {
int startLines = lines.size();
if (state == State.Adding) {
AttributedStringBuilder addrPromptLine = new AttributedStringBuilder();
addrPromptLine.append('│');
addrPromptLine.append(addressField.getAddressPrompt());
AttributedStyle style = AttributedStyle.DEFAULT;
if (!addressField.isCurrentInputValid()) {
style = style.foreground(AttributedStyle.RED);
}
addrPromptLine.append(addressField.getCurrentInput(), style);
View.padToLength(addrPromptLine, width - 1);
addrPromptLine.append('│');
lines.add(addrPromptLine.toAttributedString());
AttributedStringBuilder modeLine = new AttributedStringBuilder();
modeLine.append('│');
if (addingExec) {
modeLine.style(AttributedStyle.INVERSE);
}
modeLine.append('E');
modeLine.append("X", AttributedStyle.DEFAULT.underline());
modeLine.append("EC");
modeLine.style(AttributedStyle.INVERSE_OFF);
modeLine.append(' ');
if (addingRead) {
modeLine.style(AttributedStyle.INVERSE);
}
modeLine.append("R", AttributedStyle.DEFAULT.underline());
modeLine.append("EAD");
modeLine.style(AttributedStyle.INVERSE_OFF);
modeLine.append(' ');
if (addingWrite) {
modeLine.style(AttributedStyle.INVERSE);
}
modeLine.append("W", AttributedStyle.DEFAULT.underline());
modeLine.append("RITE");
modeLine.style(AttributedStyle.INVERSE_OFF);
View.padToLength(modeLine, width - 1);
modeLine.append('│');
lines.add(modeLine.toAttributedString());
AttributedStringBuilder addrPromptBottomLine = new AttributedStringBuilder();
addrPromptBottomLine.append('└');
View.horizontalLine(addrPromptBottomLine, width - 2);
addrPromptBottomLine.append('┘');
lines.add(addrPromptBottomLine.toAttributedString());
AttributedStringBuilder actionsLine = new AttributedStringBuilder();
actionsLine.append(" └Abort(");
actionsLine.append("q", AttributedStyle.DEFAULT.underline());
actionsLine.append(")┘ └Accept(");
actionsLine.append("⏎", addressField.isCurrentInputValid() ? AttributedStyle.DEFAULT.underline() : AttributedStyle.DEFAULT);
actionsLine.append(")┘");
lines.add(actionsLine.toAttributedString());
} else {
AttributedStringBuilder addLine = new AttributedStringBuilder();
addLine.append(" └");
addLine.append("A", AttributedStyle.DEFAULT.underline());
addLine.append("dd┘");
lines.add(addLine.toAttributedString());
}
int remainingHeight = height - (lines.size() - startLines);
verticalBoxes.appendLines(lines, width, remainingHeight);
}