javafx 라인 차트를 사용하여 여러 줄을 그려야합니다. 한 줄이 다른 줄과 겹칠 수 있기 때문입니다. 각 선을 표현하기 위해 점선이나 두께가 다른 선을 사용하고 싶습니다.
아래는 내 코드 스 니펫입니다.
for (XYChart.Series<Number, Number> s : chart.getData()) {
// Used for Line color
if (("Current Threshold").equals(s.getName())) {
s.getNode().setStyle(" -fx-stroke-width: 10; ");
s.getNode().setStyle("-fx-stroke: #00FF00; ");
s.getNode().setStyle("-fx-stroke-dash-array: 2 12 12 2; ");
}
else if(some condition)
{
// Some other condition to draw other lines
}
}
여기서 chart는 LineChart의 인스턴스입니다.
Node.setStyle () 메서드는 서로 재정의합니다. 여러 스타일을 함께 설정할 수 없습니다. 마지막 스타일은 유지되고 다른 스타일은 무시됩니다. 즉, 위 순서의 경우 점선이 그려집니다. Java 코드에서 CSS 스타일을 사용하고 있습니다.
다른 스타일을 재정의하지 않고 여러 스타일을 적용 할 수있는 방법이 있습니까?
감사
Node.setStyle()
이름에서 알 수 있듯이 JavaFX의 스타일 속성에 대한 setter 메서드입니다 Node
.
이 메서드를 연속으로 세 번 호출하면 마지막 호출 만 이전 호출을 덮어 쓰는 효과가 있습니다.
따라서 세 가지 스타일을 모두 적용하려면 다음과 같이 작성해야합니다.
node.setStyle("-fx-stroke-width: 10; -fx-stroke: #00FF00; -fx-stroke-dash-array: 2 12 12 2;");
또는 더 나은 방법은 CSS 파일을 사용하는 것입니다. 추가 참조는이 답변을 참조하십시오. 동적 개체를위한 JavaFX 텍스트 스타일링
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다