gpt4 book ai didi

java - 从另一个类更改 jTextField

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

我有两个不同的类,它们创建两个面板的 A 和 B。单击 A 上的按钮后启动 B。我想在单击 A 上的按钮时更改 B 中的 jTextField。

A 代码

private final B myB = new B();

public static void main(String args[])
{
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new A().setVisible(true);
}
});
}

B的启动

private void btnIPCStartActionPerformed(java.awt.event.ActionEvent evt) 
{
// TODO add your handling code here:
launch.B.main(null);
}

B中jTextField的变化

private void btnBattRemoveActionPerformed(java.awt.event.ActionEvent evt)                                              
{
**// Calling Via Variable**
myB.txtSystemOutput.setText("Low Battery"); // **NOT Working**

**// Calling Via Setter**
myB.setTextSystemOutput("Low Battery"); // **NOT Working**

**// Calling Via Direct Variable**
project.B.txtSystemOutput.setText("Low Battery"); // **NOT Working**
}
<小时/>

B代码

public static void main(String args[])
{
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
new B().setVisible(true);
}
});
}

public void setTextSystemOutput(String value)
{
txtSystemOutput.setText(value);
}

最佳答案

您不想通过调用其静态 main 方法来创建 B,因为这是不必要且有害的,因为它将 B 可视化实例与 A 对象隔离。而是在A中创建一个B实例,在非静态世界中创建,这样A就可以根据需要调用B上的实例变量。

因此将方法更改为:

private void btnIPCStartActionPerformed(java.awt.event.ActionEvent evt) {                                            
myB.setVisible(true);
}

关于java - 从另一个类更改 jTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066287/

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