2017-12-16 8 views
1

JavaFX 프로젝트에서 작업하려고하는데 Gluon SceneBuilder를 사용하여 내 장면을 구축하는 데 시간이 오래 걸리지 않습니다. 나는 기본 창 경계를 제거하고 내 자신의 기능 버튼 (창 닫기, 최소화, 최대화)을 포함하려고 시도하고 있으며 버튼 모음을 사용하여 창 상단에 이러한 기능을 추가하고 있습니다. 그러나 어떤 이유로 버튼은 ' 나는 그들이 원하는 것처럼 그들의 간격을 가지고 일한다.JavaFX 장면 작성기 단추 모음 간격

중간에 공간을 두지 않고 직접 모든 것을 놓을 계획이지만 제대로 작동하지는 않습니다. 단추 및 단추에 대한 모든 다른 설정과 옵션을 살펴 봤지만 아무 곳에 나 여백이나 패딩이 있다고는하지만 아무 것도 볼 수없는 채로 여전히 간격을두고 있습니다. here. 그 사이에 간격이 없도록 어떻게 만들 수 있습니까?

+0

enter image description here이 우리에게 코드를 표시입니다하시기 바랍니다. – DVarga

+0

왜'Toolbar'를 사용하지 않고 CSS에서'-fx-spacing' 속성을 사용하여 사용자 정의 했습니까? –

답변

1

당신이 당신의 버튼 막대를 저장하는 이유가 당신이 다른 레이아웃을 직접 (도구 모음 또는 HBox의)를 사용하지 않으려면, 당신이 할 수있는 당신의 버튼 막대에 hbox에 추가하고이처럼 hbox에로 버튼을 추가 :

<ButtonBar buttonOrder="L_HE+U+FBIX_NCYOA_T" layoutX="130.0" layoutY="24.0" prefHeight="0.0" stylesheets="@fx.css" ButtonBar.buttonData="APPLY"> 
    <buttons> 
     <HBox> 
      <children> 
       <Button mnemonicParsing="false" text="Button" HBox.hgrow="ALWAYS" /> 
      <Button mnemonicParsing="false" text="Button" HBox.hgrow="ALWAYS" /> 
       <Button mnemonicParsing="false" text="Button" /> 
       <Button mnemonicParsing="false" text="Button" /> 
       <Button mnemonicParsing="false" text="Button" /> 
      </children> 
     </HBox> 
    </buttons> 
    </ButtonBar> 

을 그리고 결과가

1

ButtonBar 대신 HBox를 사용할 수 있습니다. 다음과 같은 것 :

<HBox prefHeight="30.0" prefWidth="600.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> 
    <children> 
     <Pane HBox.hgrow="ALWAYS" /> 
     <Button text="Button" /> 
     <Button text="Button" /> 
     <Button text="Button" /> 
    </children> 
    </HBox> 
+0

그러나 ButtonBar는 본질적으로 HBox이며 운영 체제 관련 버튼 배치에 대한 추가 기능이 있습니다. –

+0

"특정 버튼 배치"가 필요하지 않은 것은 무엇입니까? 이 방법으로 버튼 (라벨, 이미지)을 구현하십시오. 창 (이 예제에서)은 일부 요소 사이의 "스페이서"에 불과합니다. 이 경우 단순히 버튼이 항상 오른쪽 상단에 표시됩니다. – zlakad

1

ButtonBar는 커스터마이징이 필요없는 특정 레이아웃을 미리 설정합니다. GridPane, FlowPane 또는 HBox와 같은 다른 레이아웃 창과 결합 된 하나 이상의 툴바를 사용해보십시오. 예를 들어이 사람은 항상 오른쪽 상단에 3 개 버튼을 생성합니다

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

<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.ToolBar?> 
<?import javafx.scene.layout.BorderPane?> 
<?import javafx.scene.layout.ColumnConstraints?> 
<?import javafx.scene.layout.GridPane?> 
<?import javafx.scene.layout.HBox?> 
<?import javafx.scene.layout.RowConstraints?> 

<BorderPane prefHeight="300.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> 
    <top> 
     <GridPane> 
     <columnConstraints> 
      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 
      <ColumnConstraints halignment="RIGHT" hgrow="NEVER" minWidth="10.0" /> 
     </columnConstraints> 
     <rowConstraints> 
      <RowConstraints minHeight="10.0" vgrow="SOMETIMES" /> 
     </rowConstraints> 
     <children> 
      <ToolBar prefHeight="30.0" GridPane.halignment="RIGHT" GridPane.valignment="TOP" /> 
      <ToolBar prefHeight="30.0" style="-fx-padding: 0;" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.valignment="TOP"> 
       <items> 
        <HBox> 
        <children> 
         <Button mnemonicParsing="false" style="-fx-margin: 0;" text="Button" /> 
         <Button mnemonicParsing="false" text="Button" /> 
         <Button mnemonicParsing="false" style="margin: 0;" text="Button" /> 
        </children> 
        </HBox> 
       </items> 
      </ToolBar> 
     </children> 
     </GridPane> 
    </top> 
</BorderPane>