2014-06-24 4 views

답변

9

솔루션

는 CSS를 사용하여 스타일처럼 창의 배경을 물건을 할 수있는 능력을 얻게 될 것이다 제외하고, 유사하게 동작하는 Pane 및 것들로 Group의 사용량을 교체합니다.

배경

당신은, CSS와 부모 노드의 스타일을 할 Region에서 파생 된 것을 사용하는 경우 :

지역 모든 자바 FX 노드 기반 UI 컨트롤의 기본 클래스입니다, 그리고 모든 레이아웃 컨테이너. CSS에서 스타일을 지정할 수있는 크기 조정이 가능한 Parent 노드입니다. 여러 배경과 테두리를 가질 수 있습니다. JavaFX와 관련하여 배경 및 테두리에 대한 CSS3 사양을 최대한 지원하도록 설계되었습니다.

그룹은 최소 처리 및 저장 오버 헤드가 발생하는 매우 가벼운 상위 노드로 설계되어 있으므로 supports only very minimal CSS properties (CSS 배경은 지원하지 않음)입니다. 한편

Regions은 광범위한 CSS 스타일링 기능을 제공합니다.

Pane은 그룹과 가장 유사하게 동작하는 콘크리트 지역 하위 클래스입니다 (예 : 암시 적 레이아웃을 수행하지 않고 수동으로 창에 노드를 배치합니다).

대체 솔루션

이 다른 솔루션을 사용하면 그룹에 "배경"노드를 추가 할 수 있습니다. CSS가 아닌 코드에서 작동합니다.

그룹에 추가하는 항목은 뒤에서 앞으로 그림 그리기 알고리즘에 의해 계층화됩니다. 따라서 그룹의 첫 번째 항목으로 채색 된 사각형을 추가하면 직사각형이 효과적으로 그룹의 배경을 형성합니다.

+0

+1 배경! – ItachiUchiha

+0

이전에 대체 솔루션에 대해 생각했지만 구성 요소를 처리하는 것이 창과 함께 더 쉬울 것이라고 생각합니다. 고마워요! – NovoBook

1

사실, 충분히 멋지 기 때문에 실제로는 javaFx에서 모든 것이 가능합니다.

그래서 당신의 Group을 가정 그룹이고, 당신은 Background

ColorInput ci = new ColorInput(group.getLayoutX(), 
      group.getLayoutY(), 
      group.getLayoutBounds().getWidth(), 
      group.getLayoutBounds().getHeight(), 
      Color.WHITE); 
    group.setEffect(ci); 

kabooommm을 변경하려면 !!!! 나는 하얀 배경을 가지고있다!

Color.RED); //i change the last part to red 
    group.setEffect(ci); 

kaboomm !!! kabooom !!! 나는 빨간색 배경을 가지고있다.

fyi : 이는 관계형 문제를 일으킬 것이다.

도움이 되길 바랍니다.

+0

이 '배경'은 그룹의 다른 모든 개체 위에 그려진 것처럼 보입니다 ... – Sman789

관련 문제