gpt4 book ai didi

java - 在Java中如何在jframe组件之间传递变量和列表

转载 作者:行者123 更新时间:2023-12-02 02:28:05 25 4
gpt4 key购买 nike

我创建了一个带有列表对象的简单程序。我还有一个简单的 UI,想要将列表不同部分的值添加到文本框架和标签,但找不到如何传递所需的值。

列表对象已在 UI 的主类中创建(使用 Netbeans 中的 GUI 构建器创建)。

我尝试访问 jButton 操作执行部分所需的值,但我被告知包 exampleProgram 不存在。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{
jTextField1.setText(exampleProgram.exampleClass1.get(0).number3);
}

public static void main(String args[])
{
ExampleProgram exampleProgram = new ExampleProgram();
exampleProgram.exampleClass1.add(new ExampleClass(5,4,3,2,1));
System.out.println("The example value (which should be 3) is : " + exampleProgram.exampleClass1.get(0).number3);

java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new ExampleUI().setVisible(true);
}
});
}

当前包中的另外两个文件是ExampleProgram

package classtest;

import java.util.ArrayList;
import java.util.List;

public class ExampleProgram
{
List<ExampleClass> exampleClass1 = new ArrayList<>();
List<ExampleClass> exampleClass2 = new ArrayList<>();
List<ExampleClass> exampleClass3 = new ArrayList<>();
}

和示例类

package classtest;

public class ExampleClass
{
int number1;
int number2;
int number3;
int number4;
int number5;

public ExampleClass (int a, int b, int c, int d, int e)
{
number1 = a;
number2 = b;
number3 = c;
number4 = d;
number5 = e;
}
}

更新:

尝试了建议的答案 - 使用构造函数时有效,但仍然无法访问按钮操作代码中传递的对象。

public class ExampleUI extends javax.swing.JFrame 
{
public ExampleUI()
{
initComponents();
}

public ExampleUI(ExampleProgram passedObject)
{
initComponents();
jTextField1.setText(String.valueOf(passedObject.exampleClass1.get(0).number3));
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
jTextField2.setText(String.valueOf(passedObject.exampleClass1.get(0).number3));
}

public static void main(String args[])
{
ExampleProgram exampleProgram = new ExampleProgram();
exampleProgram.exampleClass1.add(new ExampleClass(5,4,3,2,1));
System.out.println("The example value (which should be 3) is : " + exampleProgram.exampleClass1.get(0).number3);

java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new ExampleUI(exampleProgram).setVisible(true);
}
});
}
}

最佳答案

    public static void main(String args[]) 
{
ExampleProgram exampleProgram = new ExampleProgram();
exampleProgram.exampleClass1.add(new ExampleClass(5,4,3,2,1));
System.out.println("The example value (which should be 3) is : " + exampleProgram.exampleClass1.get(0).number3);

java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new ExampleUI(exampleProgram).setVisible(true);
}
});
}

在ExampleUI类的构造函数中传递数据,然后在ExampleUI类中访问它。希望这会对您有所帮助。

关于java - 在Java中如何在jframe组件之间传递变量和列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57243765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com