如何解决将一个JFrame表单的JTable单元格的值传递给另一表单的JTextField的问题
|| 我有两个JFrame Forms-SelectContactsfrm.java和Taskfrm.java。 SelectContactsfrm文件中有一个JTable来显示联系人。当用户从JTable中选择一个联系人并按OK按钮时,应将所选值复制到Taskfrm.java的JTextField中。 Taskfrm.java \的JTextField \的名称为-txtContacts,访问修饰符为-public 下面是我在SelectContactsfrm的OK按钮的actionPerformed上编写的代码。按钮名称-btnOKprivate void btnOKActionPerformed(java.awt.event.ActionEvent evt) {
// Code to get the selected rows value and paste Contact\'s full name in Taskfrm\'s txtContacts JTextField:
selrow=ctable.getSelectedRow();
selcol=ctable.getSelectedColumn();
Object value=ctable.getModel().getValueAt(selrow,1);
new Taskfrm().txtContacts.setText(value.toString());
//Just to check whether I get the correct values or not.
System.out.println(\"selrow==\"+selrow);
System.out.println(\"selcol==\"+selcol);
System.out.println(\"txtContacts==\"+value);
}
我可以在输出中看到正确的选择值,但没有得到为什么在Taskfrm \的JTextField中没有设置此值的原因。在Taskfrm \的构造函数中只有initComponents()存在。有没有办法在这里附加类文件而不是粘贴?
解决方法
这取决于Taskfrm的设置方式以及它的构造函数。
我尝试过这样的事情,它有效
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ClassA extends JFrame {
JTextField text;
public ClassA() {
JLabel l = new JLabel(\"Name: \");
text = new JTextField(20);
JButton b = new JButton(\"Send\");
setLayout(null);
l.setBounds(10,10,100,20);
text.setBounds(120,150,20);
b.setBounds(120,40,80,20);
add(l);
add(text);
add(b);
setVisible(true);
setSize(300,100);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new ClassB().text.setText(ClassA.this.text.getText());
}
});
}
public static void main(String a[]) {
new ClassA();
}
}
class ClassB extends JFrame {
JTextField text;
public ClassB() {
JLabel l = new JLabel(\"Name: \");
text = new JTextField(20);
setLayout(null);
l.setBounds(10,20);
add(l);
add(text);
setVisible(true);
setSize(300,100);
}
}
,设置其可见性并在Taskfrm的构造函数中进行更改。
new Taskfrm(value);
new Taskfrm(value).setVisible(true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。