私は Java プログラミングの初心者で、理解も理解もできない (おそらく) 簡単な問題に直面しています。
私は 3 つの異なる Java ファイルを持っています。1 つはインターフェース (SimulatorGui.java) を作成する場所、もう 1 つはインターフェース (CollisionPanel.java - CollisionPanel クラス) で作成された jTabbedPanel で使用するパネルを作成する場所、3 つ目は私が必要な出力を作成するコードを実行します (Collision.java - Collision クラス)。
Collision.java のメイン メソッドでは、次のことを行っています。
public static void main (String[] args) {
//<editor-fold defaultstate="collapsed" desc="Simulation start procedures">
Tally statC = new Tally ("Statistics on collisions");
Collision col = new Collision (100, 50);
col.simulateRuns (100, new MRG32k3a(), statC);
//</editor-fold>
new SimulatorGUI().setVisible(true);
CollisionPanel update = new CollisionPanel();
update.updatepanel();
最初のブロックは、目的の出力を作成します。次に、その出力を updatepanel に送信します。私はまだこれをデバッグしようとしているので、メソッドに引数を渡していません。updatepanel メソッドは、次のように CollisionPanel ファイルに作成されます。
public void updatepanel(){
System.out.println ("debug");
jTextArea1.setText("update\n");
}
Collision.java ファイルを実行すると、「デバッグ」テキストが出力されますが、テキストが jTextArea1 に設定されません (追加も機能しません)。次に、試してみるためのボタンを作成しましたが、その場合は機能します。CollisionPanel.java 内:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
updatepanel();
}
これでうまくいきます!さまざまなことを検索して試しましたが、なぜこれが機能しないのか理解できないようです。
ご協力いただきありがとうございます。問題が解決したことを願っています。