2016-09-15 4 views
-1

OK文字列とintの2つの配列があります。問題はjavafxでbarchartを使用していることです。今度は配列が空ではありません。しかし、Launch(args)というステートメントの後では、メインメソッドで実行されるため、null値とゼロ値になります。Javafxは起動(args)を起動した後に値を変更します

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

ここで私がtest()を実行すると、私の両方の配列の値が表示されます。私はbarchartでこれらの値を追加する直前に別の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を参照してください。

EDIT 1:

スタートで初期化することは理にかなって、うーん

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

を試してみてください。 –

+0

これがあなたの質問に答えるなら、それを正しいものとしてマークしてください。そうでない場合は、再度投稿し、何が起こるか教えてください。 –

+0

Thnxそれは動作しますが、私はそれを取得しませんでした。たぶん、私はそれについてもっと調べるべきです。 –

関連する問題