在Java中使用JTextField对象

Xri*_*ris 1 java user-interface swing jtextfield

我确实接受这对你们许多人来说是一个愚蠢的问题!首先,我想说的是,就图形用户界面而言,我的Java知识很低!我有textFields的问题.我想获取一个JTextField对象的值并将其显示在另一个JTextField对象中!这是我尝试但它无法正常工作!

       textField2.setText(textField1.getText());
Run Code Online (Sandbox Code Playgroud)

的问题是,我有两个帧中的对象,并且每个具有一个TextField对象,我想从一个值复制jTextField1jFrame1jTextField2中jFrame2.

Hov*_*els 5

问题是有效的,您提供的信息量不是.没有办法帮助你直到你告诉足够的细节,以便我们能够理解什么是错的.

虽然我戴上了解读帽,我猜你的问题是你在程序启动时调用上面的方法,并期望如果你更新一个JTextField,另一个会自动更新,但事实并非如此.当你打这个电话时:

textField2.setText(textField1.getText());
Run Code Online (Sandbox Code Playgroud)

您所做的只是将第一个字段中保存的String放入第二个字段.在程序启动时,这可能为null,但即使它包含文本,String也是不可变的,并且永远不会改变,即使第1个字段的文本发生了变化.

如果您希望一个字段始终保持与另一个字段相同的文本,请让它们共享相同的模型:

textField2.setDocument(textField1.getDocument()); // * edited per mKorbel's rec
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您的目标是从一个JTextField获取文本并将其放入另一个JTextField,但仅在用户选择执行此操作时,则使用添加到JButton或第一个JTextfield本身的ActionListener(这是通过在插入符号处于字段中时按Enter键激活,并在该侦听器中放置您的代码行:

textField2.setText(textField1.getText());
Run Code Online (Sandbox Code Playgroud)