2016-09-15 56 views
-1

OK我有兩個數組,一個使用字符串,另一個使用int。問題是我在javafx中使用條形圖。現在沒有任何數組是空的。但在語句Launch(args)在主要方法中運行後,它將它們變成空值和零值。Javafx在啓動啓動後更改值(參數)

public static void main(String[] args) { 
    HistoGui BH = new HistoGui(); 
    BH.dataProcessor(); 
    BH.test(); 
    launch(args); 
} 

這裏,當我運行test()它顯示我的兩個數組的值。在添加條形圖中的這些值之前,我已經添加了另一個測試()。但突然間他們轉換成零和零點

char a = 'A'; 
    test(); 
    for(int i=0; i<26; i++){ 
     series1.getData().add(new XYChart.Data(Character.toString(a), 5)); 
     a++; 
    } 

這裏的輸出

Total Characters = 65872 
A 7 
B 3 
C 5 
D 2 
E 4 
F 3 
G 2 
H 4 
I 12 
J 1 
K 0 
L 2 
M 3 
N 4 
O 3 
P 3 
Q 0 
R 3 
S 7 
T 11 
U 1 
V 1 
W 4 
X 0 
Y 1 
Z 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 
null 0 

回答

0

要初始化在錯誤的地方您的項目。您應該將這些調用放在init方法或start方法中,具體取決於您對它們的使用。有關Javafx應用程序生命週期的信息,請參考https://docs.oracle.com/javase/8/javafx/api/javafx/application/Application.html

編輯1:

嘗試

public void init(){ 
    HistoGui BH = new HistoGui(); 
    BH.dataProcessor(); 
    BH.test(); 
} 
+0

嗯,在啓動初始化是有道理的。 –

+0

如果這回答你的問題,請將其標記爲正確。如果沒有,請再次發佈並讓我知道會發生什麼。 –

+0

Thnx它的工作原理,但我沒有得到它。也許我應該多搜索一下。 –