У меня есть список JavaFX с использованием проекта flowless.Но я получаю странную границу (я не включил какую-либо границу и заставил границу иметь ширину = 0 пикселей), которая присутствует и имеет эффект градиента:
Когда я устанавливаю для фона ячейки значение -1, граница исчезает, поэтому я считаю, что эта проблема связана с фоном.Хотя это не решение, потому что если я включу границу (которую я хочу), эффект градиента все еще присутствует.
Кто-нибудь знает, как я могу избавиться от этой границы?
Я использую JavaFX 8 с последней версией 201.
РЕДАКТИРОВАТЬ: я сделал следующий пример, показывающий проблему:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;
import org.fxmisc.flowless.Cell;
import org.fxmisc.flowless.VirtualFlow;
import org.fxmisc.flowless.VirtualizedScrollPane;
public class Main extends Application {
private ObservableList<Line> logLines;
private VirtualFlow<Line, Cell<Line, LineCell>> listView;
private VirtualizedScrollPane<VirtualFlow> listScrollPane;
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
logLines = FXCollections.observableArrayList();
for(int i=1; i < 50; i++) {
logLines.add(new Line("Line "+i));
}
listView = VirtualFlow.createVertical(logLines, (line) -> Cell.wrapNode(new LineCell(line)));
listScrollPane = new VirtualizedScrollPane<>(listView);
Scene scene = new Scene(listScrollPane, 200, 600, Color.BLACK);
primaryStage.setScene(scene);
primaryStage.show();
}
private class Line {
private String text;
public Line(String text) {
this.text = text;
}
public String getText() {
return text;
}
}
private class LineCell extends TextFlow {
public LineCell(Line line) {
super();
Text t = new Text(line.getText());
t.setFill(Color.BLACK);
super.setStyle("-fx-background-color: green;");
super.getChildren().add(t);
}
}
}
Спасибо!