package bluej.utility.javafx;
import java.io.OutputStream;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import bluej.views.FormattedPrintWriter;
import threadchecker.OnThread;
import threadchecker.Tag;
| Created by neil on 11/06/2016.
|
@OnThread(value = Tag.FX, ignoreParent = true)
public class FXFormattedPrintWriter
extends FormattedPrintWriter{
private final TextFlow flow = new TextFlow();
private boolean bold = false;
private boolean italic = false;
public FXFormattedPrintWriter()
{
super(System.out);
JavaFXUtil.addStyleClass(flow, "formatted-print-flow");
}
@Override
public void setBold(boolean bold)
{
this.bold = bold;
}
@Override
public void setItalic(boolean italic)
{
this.italic = italic;
}
@Override
protected void indentLine()
{
flow.getChildren().add(new Text(" "));
}
@Override
public void println(String line)
{
Text t = new Text((flow.getChildren().isEmpty() ? "" : "\n") + line);
JavaFXUtil.addStyleClass(t, "formatted-print-line");
JavaFXUtil.setPseudoclass("bj-bold", bold, t);
JavaFXUtil.setPseudoclass("bj-italic", italic, t);
flow.getChildren().add(t);
}
public Node getNode()
{
return flow;
}
}
top,
use,
map,
class FXFormattedPrintWriter
. FXFormattedPrintWriter
. setBold
. setItalic
. indentLine
. println
. getNode
73 neLoCode
+ 1 LoComm