2017-11-26 8 views
0
public static int print() { 
     int a =1; 
     int b =2; 
     int c= a+b; 
     return c; 
     } 
    public static void main(String[] args) { 
     System.out.println(print()); 
     launch(args); 

    } 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     Label l = new Label(); 

     Pane p = new Pane(l); 
     p.getChildren().add(l); 
     Scene s = new Scene(p); 
     primaryStage.setScene(s); 
     primaryStage.show(); 

    } 

내가 print() 방법은 자바 FX 무대에 인쇄하는 방법을 알고 싶어 다른 방법이 그냥 쉽게 예, 그래서 상황이 new Label("3")가 아니므로 그 라벨에 3 쓰기입니다 허용!자바 FX : 할 단계 인쇄

답변

0

값을 업데이트하려는 레이블 whne의 setText 메소드를 사용하십시오.

l.setText(print()); 

나는 이것이 당신이 찾고있는 희망 : 그래서 여기

은 당신이해야 할 것입니다.

+0

하지만 작동하지 않습니다. 'application_testOutput.start (testOutput.java:27)'및'응용 프로그램 시작 메소드의 예외' java.lang.reflect.InvocationTargetException' –

+0

27 번째 줄 :'pane p = new Pane (l);' –

+0

이상하게 들리네. 나에게. 먼저 (l)을 사용하여 새 창 (p)을 만듭니다. 그러면 'p'의 자녀가 생기고 'l'도 자녀에게 추가됩니다. 음, 너에게 의미가 있니? –

2

정수를 정의한 다음 String.valueOf() 메서드로 보낼 수 있습니다.

또는 String.valueOf (print()) 안에있는 인쇄 메소드를 호출 할 수 있습니다. 이 두 가지 솔루션은 동일합니다.

아래 코드는 잠재적 해결책의 예입니다.

public class Test extends Application { 

@Override 
public void start(Stage primaryStage) { 

    int number = print(); 

    Label l = new Label(String.valueOf(number));  
    StackPane p = new StackPane(); 

    p.getChildren().add(l); 

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

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

public static void main(String[] args) { 
    launch(args); 
} 

public int print() { 
    int a = 1; 
    int b = 2; 
    int c = a + b; 
    return c; 
    } 
}