java如何通过按下另一个jframe中的按钮将jframe中的textfield设置为setEditable(true)?
我已经在我的另一个jframe上尝试过:
public class frmB extends javax.swing.JFrame {
public frmB() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
frmA a = new frmA();
a.jTextField1.setEditable(true);
}
# 1 楼答案
jButton1ActionPerformed
方法中创建一个新的frmA对象时,您正在这样做,创建一个与显示的另一个对象完全无关的新的frmA对象李>请注意,您的问题与Swing无关,而与基本Java有关。任何类都可以使用Swing生成多个实例,每个实例都是唯一的,并且完全不同于其他实例。更改一个实例的状态不会对其他任何实例产生影响
你问我是否可以用它来编写代码,当然,这里有一个例子
假设您有一个类a,它有一个名为textField的JTextField和一个名为
setText(String text)
的方法,该方法接受传入的字符串并将其放入textField中:在您的情况下,您有一个类B1,它有一个JButton,试图调用a的方法,但是通过创建一个新的对象来实现,如下所示:
但是,这同样不起作用,因为上面的代码创建了一个新的a对象,该对象与显示的a不同。关键是将a的引用传递到该类中,然后调用该类的方法,就像我的B2类一样,因此:
一个可运行的示例程序:
# 2 楼答案
为什么要在类中创建一个新的jframe,让它们都将frmA作为参数传递给frmB