From cad569f3cb6bbaa7e5d24572f7d9db88f752d8e5 Mon Sep 17 00:00:00 2001 From: Tomas Mikula Date: Tue, 12 Aug 2014 23:41:35 +0200 Subject: [PATCH] Take multiple StyledTexts in Paragraph constructor --- .../java/org/fxmisc/richtext/Paragraph.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/richtextfx/src/main/java/org/fxmisc/richtext/Paragraph.java b/richtextfx/src/main/java/org/fxmisc/richtext/Paragraph.java index 6e71a5553..3f7e9ed94 100644 --- a/richtextfx/src/main/java/org/fxmisc/richtext/Paragraph.java +++ b/richtextfx/src/main/java/org/fxmisc/richtext/Paragraph.java @@ -39,6 +39,19 @@ import org.fxmisc.richtext.TwoDimensional.Position; public final class Paragraph implements CharSequence { + + @SafeVarargs + private static List list(T head, T... tail) { + if(tail.length == 0) { + return Collections.singletonList(head); + } else { + ArrayList list = new ArrayList<>(1 + tail.length); + list.add(head); + for(T t: tail) list.add(t); + return list; + } + } + private final List> segments; private final Optional terminator; private final TwoLevelNavigator navigator; @@ -47,8 +60,9 @@ public Paragraph(String text, S style) { this(new StyledText(text, style)); } - public Paragraph(StyledText text) { - this(text, Optional.empty()); + @SafeVarargs + public Paragraph(StyledText text, StyledText... texts) { + this(list(text, texts), Optional.empty()); } private Paragraph(String text, S style, LineTerminator terminator) {