Работа с объектом JTextField в Java - PullRequest
1 голос
/ 01 февраля 2012

Я принимаю, что это глупый вопрос для многих из вас! Прежде всего, я хочу сказать, что мои знания Java невелики в плане графического интерфейса пользователя! У меня проблема с textFields. Я хочу получить значение одного объекта JTextField и отобразить его в другом объекте JTextField! Это то, что я пробовал, но оно не работает!

       textField2.setText(textField1.getText());

Проблема в том, что у меня есть два объекта frame, и у каждого есть объект textField, и я хочу скопировать одно значение из jTextField1 из jFrame1 в jTextField2 из jFrame2 .

1 Ответ

5 голосов
/ 01 февраля 2012

Вопрос действителен, объем предоставленной вами информации отсутствует.Нет никакого способа помочь вам, пока вы не расскажете достаточно подробностей, чтобы мы могли понять, в чем дело.

Надев шляпу для чтения мыслей, я собираюсь догадаться, что ваша проблема в том, что вы делаете этот вызов метода вышепри запуске программы и ожидайте, что если вы обновите один JTextField, другой будет обновляться автоматически, но это не так.Когда вы делаете этот вызов:

textField2.setText(textField1.getText());

Все, что вы делаете, это помещаете строку, удерживаемую в первом поле, во второе поле.При запуске программы это значение может быть нулевым, но даже если оно содержит текст, строка не изменяется и никогда не изменится, даже если текст 1-го поля изменится.

Если вы хотите, чтобы одно поле всегда содержало тот же текст, что и другое, пусть они разделяют одну и ту же модель :

textField2.setDocument(textField1.getDocument()); // * edited per mKorbel's rec

Еслис другой стороны, ваша цель - получить текст из одного JTextField и поместить его в другой, но только когда пользователь решит это сделать, затем использовать ActionListener, который добавляется либо в JButton, либо в первое поле JTextfield (которое активируется).нажав клавишу ввода, когда курсор находится в поле), и в этом слушателе поместите строку кода:

textField2.setText(textField1.getText());
...