2016-08-22 2 views
0

OS 레벨 윈도우가 아닌 JavaFX에서 사용자 정의 대화 상자를 만들 수 있습니까? (응용 프로그램 창을 벗어날 수없는 메인 스테이지의 모든 항목 위에 팝업 창이 표시됩니다.) 즉, 친숙한 사용자를위한 Adobe/Apache Flex 스타일 대화 상자입니다.JavaFX로 메인 윈도우/스테이지 내에서 사용자 정의 대화 상자/팝업

+1

ControlsFX는이 기능을 사용했습니다 ([경량 대화 상자 참조] (http://fxexperience.com/controlsfx/features/dialogs/)). 그러나 ControlsFX의 최근 빌드는 [경량 대화 상자 기능을 삭제했습니다.] (http://stackoverflow.com/questions/26341152/controlsfx-dialogs-deprecated-for-what). 대신 ControlsFX는 자체 포함 스테이지 인 JavaFX 핵심 API에 구현 된 대화 상자 만 사용합니다. [ControlsFX의 이전 분기 소스 코드] (https://bitbucket.org/controlsfx/controlsfx/branches/)를 검토하여 원래 가벼운 대화 상자 구현을 어떻게 달성했는지 확인할 수 있습니다. – jewelsea

+0

ControlsFX [경량 대화 소스 구현] (https://bitbucket.org/controlsfx/controlsfx/src/371bca0e905536ca6742d181fdade07258260659/controlsfx/src/main/java/org/controlsfx/dialog/LightweightDialog.java?at=8.0.6_20&fileviewer=file -view-default) (현재 지원되지 않음). – jewelsea

답변

1

그것의 사실은 꽤 간단하고 제 3 자 라이브러리를 사용할 필요없이 :

stackpane 내에서 그리고 맨 위에 루트 컨테이너가 앵커 창 대화 상자 컨트롤 (용기/용기 + 컨트롤을 만들 넣어 삽입). 당신은 속성, 청취자가 이동 할 수 있습니다 enter image description here

: 같은

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.control.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 


<StackPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: black;" /> 
     <AnchorPane prefHeight="200.0" prefWidth="363.0"> 
     <children> 
      <BorderPane layoutX="84.0" layoutY="123.0" prefHeight="99.0" prefWidth="227.0" style="-fx-background-color: red;"> 
       <center> 
        <Button mnemonicParsing="false" text="Button" BorderPane.alignment="CENTER" /> 
       </center> 
      </BorderPane> 
     </children> 
     </AnchorPane> 
    </children> 
</StackPane> 

가 보이는 :

은 내가 여기에 의미하는 것은 작은 fxml 파일입니다 설명합니다. 그것의 일부 work bud을 필요로 할 것입니다.

버드로 jewelsea 언급했는데 controlsfx는 이미 구현해야 할 것이 있습니다. 정확하게 기억하고 있다면 controlfx 샘플 병을 제공합니다. 여기에 소스 코드와 모든 포함 된 것들을 볼 수 있습니다. 그 시점에서 그것을 구현하는 것은 정말 사소한 일입니다. 나는 자바의 새로운 버전으로 업데이트 할 때 단지 하나의 컨트롤로 과거에 어려움을 겪었습니다.

+0

정말 움직일 필요가 없습니다. 그런 정적 컨테이너 만 있으면 트릭을해야합니다! – User

관련 문제