2014-10-10 2 views
1

다음과 같은 문제점이 있습니다. 전체 화면 모드로 다중 화면 응용 프로그램을 시작할 때 초점이 맞는 텍스트 필드 나 단추를보고 싶습니다. 그러나 어떤 이유로 텍스트 필드와 같이 초점을 "빛나게"표시하지 않습니다. 이것은 중요한 문제는 아니지만 원하는 방식으로 초점을 맞추고 있습니다 (requestFocus()는 그 일을합니다).JavaFX8 : 전체 화면 모드의 응용 프로그램에서 요소에 초점을 표시하지 않습니다.

그러나 목록이 전체 화면 모드로 표시되지 않기 때문에 ControlsFX (How to implement AutoComplete TextField using ControlsFX)에서 AutoComplete TextField Completion을 사용하려고하면 성가 시게됩니다.

나는이 스크린 샷과 상황을 명확히한다

: 그것은 전체 화면 모드에 얼마나

을 :

Current situation

어떻게해야 (그리고 비 전체 화면에 얼마나) :

How it should be

명확해야 : AutoComplete TextField뿐 아니라 모든 FXML 요소에 문제가 있습니다. OSX 자체에서 전체 화면 모드를 사용하는 경우 적절한 방법으로 작동합니다 (배경에 오류가 있음). 하지만 응용 프로그램을 전체 화면 모드로 시작하고 싶습니다. 당신이 볼 수 있듯이

public class Main extends Application { 

//Get the screenscontroller instance 
octocash.GUI_Screens.ScreensController mainContainer = octocash.GUI_Screens.ScreensController.getInstance(); 
//Get the configuration instance 
Configuration initApp = Configuration.getInstance(); 
//Create an object of Functions to establish a database connection 
public static Functions databaseConnection = new Functions(); 
//Create a stage object to hold the primarystage 
public static Stage primaryStage; 

@Override 
public void start(Stage stage) throws Exception { 

    primaryStage = stage; //set the primary stage 
    databaseConnection.DB_Connect(); //establish database connection 

    //Load the initial screen (lockscreen) 
    mainContainer.loadScreen(Configuration.lockScreen, Configuration.lockScreenFile); 
    mainContainer.setScreen(Configuration.lockScreen); 

    Group root = new Group(); //Create a group to hold all other screens 
    root.getChildren().addAll(mainContainer); //Add all Screenscontroller screens to the Group 
    Scene scene = new Scene(root); //set the group to the scene 

    stage.getIcons().add(new Image("file:src/octocash/images/octo_cash_logo.png")); //add a menubar icon 
    stage.setTitle("OctoCash Development"); //set the window name 
    stage.setScene(scene); //set the scene 
    stage.setFullScreen(true); //full screen without borders (no program menu bars) 
    stage.setFullScreenExitHint(""); //Don't show "Press ESC to exit full screen" 
    //stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH); //DO NOT TURN ON UNLESS YOU CREATED ANOTHER METHOD TO EXIT THE PROGRAM 
    stage.show(); //show the application 

} 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 

    launch(args); // start the application 

} 

} 

, 나는 기본적으로 모든 화면과 StackPane하는 ScreensController을 사용하고 있습니다 :

이 내 Main.java의 코드

.

나는이 질문이 모두에게 분명하기를 바랍니다.

도움을 주시면 대단히 감사하겠습니다.

답변

0

Java JDK 8u25에서 오류가 발생했습니다. 이제 Java JDK 8u40으로 업데이트했습니다. 그러면이 문제가 해결됩니다. 또한 Windows 및 Linux에서 전체 화면 포커스를 테스트 한 결과 작동합니다. 따라서 동일한 문제가 발생하면 JDK를 업데이트하십시오.