2017-11-16 7 views
1

안녕하세요 여러분, 전화 할 수 있다면 "버그"가 있습니다. 프로그램 시작시 한 요소는 항상 파란색입니다.무대를 보여줄 때 요소가 항상 파란색으로 둘러싸인 이유

@Override 
public void start(Stage stage) throws Exception { 
    Parent root = FXMLLoader.load(getClass().getResource("resource/Start.fxml")); 

    Scene scene = new Scene(root);  
    stage.setScene(scene); 
    stage.setTitle("Alc Calc V1.1"); 
    stage.show();  
} 

=>

enter image description here

+1

이 요소에 포커스가 있습니다. – Sedrick

+0

'탭'을 누르면 다음 '노드'가 파란색으로 변합니다. '스페이스 바'를 눌러 선택해야합니다. – Sedrick

+3

참조 : [JavaFX 단추의 기본 테두리를 제거하려면 어떻게합니까?] (https://stackoverflow.com/questions/6092500/how-do-i-remove-the-default-border-glow) -of-a-javafx-button-selected-selected). 비록, 일반적으로, 나는 이것을 제거하지 않는 것이 좋습니다. – jewelsea

답변

2

블루는 활성 요소와 같이 나타난다 이유. JavaFX를 사용하면 CSS를 사용하여 프로그램의 스타일을 지정할 수 있으며 직접 입력하지 않으면 기본값을 사용합니다. 기본값에서는 fx-focus-color 속성에 해당 파란색을 추가하도록 설정되어 있습니다.

코드의 속성 자체를 변경하면 모든 컨트롤의 효과를 없앨 수 있습니다.

control.setStyle("-fx-focus-color: transparent;"); 

이상을 변경하려는 경우 고유 한 CSS 파일을 만들고이를 사용하는 것이 좋습니다. 당신이 그것을 첨부 할 수 있습니다

scene.getStylesheets().add("your_custom_css_file.css"); 

그런 다음이 속성을 추가 할 것입니다 CSS 파일 내에서이 속성을 설정합니다 :

.root { -fx-focus-color: transparent; } 
+0

포커스 색상을 변경하는 방법에 대한 자세한 내용은 @jewelsea가 연결된 사이트를 확인하십시오. 여기 당신이 그것을 놓친다면 다시 : https://stackoverflow.com/questions/6092500/how-do-i-remove-the-default-border-glow-of-a-javafx-button-when-selected – DragonHeart000

+0

거기 장면 제작자의 "-fx-focus-traversable"입니까? 그것은 동일합니까 – TiZaLjubavNisiRodjena

+0

당신은 단지'TextField'에 포커스를 맞추거나'TextField'가 포커스로 시작하도록 노드의 순서를 바꾸기를 원할 것입니다. 답을 쓰려면 @ DragonHeart000에 1+. – Sedrick