2017-11-17 2 views
0

enter image description herejavaFX에서 텍스트를 세로로 채우는 방법은 무엇입니까?

늘이기 높이와 너비를 시도했지만 너비 만 텍스트를 가로로 표시 할 수 있지만 세로로 표시 할 수는 없습니다.

다음은 내가 시도한 것입니다.

Label label5 = new Label("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); 
    HBox hbox5 = new HBox(); 
    label5.setMinHeight(Region.USE_COMPUTED_SIZE); 
    hbox5.getChildren().add(label5); 
    hbox5.setAlignment(Pos.TOP_CENTER); 
    hbox5.setMinHeight(Region.USE_COMPUTED_SIZE); 

하지만 작동하지 않는 것 같습니다.

내가 놓친 것을 알려주십시오. 감사합니다!

+0

텍스트 래핑 사용 – Mordechai

+0

@MouseEvent가 label5.setWrapText (true)를 예로 들자면, – Matt

답변

0

열쇠는 Monospacedfont을 사용해야합니다.

코드 버전 :

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.Label; 
import javafx.scene.layout.StackPane; 
import javafx.scene.text.Font; 
import javafx.stage.Stage; 

/** 
* 
* @author blj0011 
*/ 
public class JavaFXApplication42 extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     StackPane root = new StackPane(); 

     Label label = new Label("Hello World"); 
     label.setFont(Font.font("Monospaced")); 
     label.setWrapText(true); 
     label.setMinWidth(1); 
     label.setPrefWidth(1); 
     label.setMaxWidth(1); 


     root.getChildren().add(label); 

     Scene scene = new Scene(root, 300, 250); 

     primaryStage.setTitle("Hello World!"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

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

enter image description here

FXML 버전 :

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

<?import javafx.scene.control.Label?> 
<?import javafx.scene.layout.Pane?> 


<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <Label layoutX="296.0" layoutY="81.0" prefHeight="198.0" prefWidth="0.0" text="HELLO WORLD" wrapText="true" /> 
    </children> 
</Pane> 

enter image description here

+0

선호하는 크기를 지정하면 특정 지점까지 늘어납니다. Double.MAX_VALUE를 사용할 수 있습니다. – Elltz

0

wrapText(true)rotate(90.0)Label 나머지 부분에 대한 걱정은 없습니까?

Label l = new Label("some long text goes here - "); 
l.setWrapText(true); 
l.setRotate(90.0); 
관련 문제