我是 Java 编程的新手,并且面临一个(很可能)我似乎无法理解或理解的简单问题。
我有三个不同的 java 文件,一个是我创建界面(SimulatorGui.java),另一个是我创建一个面板以在界面中创建的 jTabbedPanel 上使用(CollisionPanel.java - CollisionPanel 类)和第三个,我在其中运行将创建所需输出的代码(Collision.java - Colision 类)。
在 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 方法在 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();
}
这是诀窍!我已经搜索并尝试了不同的东西,但似乎无法理解为什么这不起作用。
提前感谢您的帮助,希望我已经解决了问题!