Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Отловить нажите Enter в jTextField / 6 сообщений из 6, страница 1 из 1
09.04.2012, 08:02:47
    #37744503
LeAnnAlice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
Всем привет)
Проблема однако никакая, но я не понимаю, как это организовать((( Полдня убила, ничего не выходит.
Надо, чтобы после нажатия Enter в jTextField происходила цепочка событий. Неужели через jTextField1.чего-то там не такого, что отлавливало бы Enter???
ActionListener и прочее по кускам кода я понять не могу, куда это вообще писать?
Заранее благодарю...)
...
Рейтинг: 0 / 0
09.04.2012, 09:30:26
    #37744565
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
LeAnnAlice,

А куда пробовали писать? У JTextEdit есть метод addActionListener вот туда и пихать
Код: java
1.
2.
3.
4.
5.
6.
7.
sampleEdit.addActionListener(new ActionListener(){
    
   public void actionPerformed(ActionEvent e){
      //Твой код здесь
   } 

});
...
Рейтинг: 0 / 0
09.04.2012, 09:59:50
    #37744614
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
...
Рейтинг: 0 / 0
09.04.2012, 14:49:59
    #37745176
Oleg N
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
sampleEdit1 = new JTextField();

sampleEdit1.addKeyListener(new KeyAdapter() {
     @Override
     public void keyPressed(KeyEvent e) {
				
        int key = e.getKeyCode();
		        
        if (key == KeyEvent.VK_ENTER) {		// нажата клавиша - Enter
             //Твой код здесь

        }
     }
});
...
Рейтинг: 0 / 0
09.04.2012, 14:56:27
    #37745190
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
У JTextField ENTER замаплен на JTextField.notifyAction - JTextField.postActionEvent()
Для JTextField такие манипуляции нафиг не нужны.
...
Рейтинг: 0 / 0
22.04.2012, 11:10:51
    #37765012
LeAnnAlice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отловить нажите Enter в jTextField
С этим разобралась)) Благодарю))
Зато теперь что-то поинтересней...

Работаю с массивом чисел (динамический). У меня на форме меню с действиями.
1) Добавляем элемент
Нужно: если массив ещё не создан, то работаем со стандартным (заданным заранее), если создан, работаем с ним.
Что происходит: тут два варианта.
Если массив не создан ещё, подгружается стандартный массив. Всё ОК, однако, при нажатии любой другой кнопки меню и попытки выполнения её (кнопки) назначения, программа продолжает выполнять добавление.
Если массив уже создан, то добавление происходит. Но не в тот массив, который есть. То есть, например, если перед добавлением элемента сначала нажали "работать с новым массивом" и ввели его с клавиатуры - введенное в поле для добавления значение воспринимается как новый массив; если до добавления массив сгенерировали - то число воспринимается как номер элементов для генерации. Число же при этом добавляется. Та же примерно фигня после нажатия кнопочки: генерация работает нормально, а ввод нового массива считается выполнением добавления элемента оО
2) Удаляем элемент. Ситуация та же((

Собственно код. Хотя тут, наверное, надо всё смотреть...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // Добавить элемент
        jLabel2.setVisible(false);
        jLabel3.setVisible(false);
        jLabel4.setVisible(false);
        jLabel5.setVisible(false);
        jLabel1.setVisible(true);
        jLabel1.setText("Enter the element you want to add");
        jTextField1.setVisible(true);
        jTextField1.setText(null);
        jTextField1.addKeyListener(new KeyAdapter() {

            @Override
            public void keyPressed(KeyEvent e) {
                int key = e.getKeyCode();

                if (key == KeyEvent.VK_ENTER) {
                    jLabel2.setVisible(true);
                    if (m.isEmpty()) {
                        m.Default();
                    }
                    jLabel2.setText("Original array: " + m.STROKA());
                    m.addEl(Integer.parseInt(jTextField1.getText()));
                    jLabel3.setVisible(true);
                    jLabel3.setText("New array (with added element): " + m.STROKA());
                }
            }
        });
    }              



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // Удалить элемент
        jLabel2.setVisible(false);
        jLabel3.setVisible(false);
        jLabel4.setVisible(false);
        jLabel5.setVisible(false);
        jLabel1.setVisible(true);
        jLabel1.setText("Enter the number of the element you want to delete");
        jTextField1.setVisible(true);
        jTextField1.setText(null);
        jTextField1.addKeyListener(new KeyAdapter() {

            @Override
            public void keyPressed(KeyEvent e) {
                int key = e.getKeyCode();
                if (key == KeyEvent.VK_ENTER) {
                    jLabel2.setVisible(true);
                    if (m.isEmpty()) {
                        m.Default();
                    }
                    if ((Integer.parseInt(jTextField1.getText())) < m.getSize()) {
                        jLabel2.setText("Original array: " + m.STROKA());
                        m.delEl((Integer.parseInt(jTextField1.getText())) - 1);
                        jLabel3.setVisible(true);
                        jLabel3.setText("New array (with deleted element): " + m.STROKA());
                    } else {
                        jLabel2.setVisible(true);
                        jLabel2.setText("There's no element with this index. Try again");
                    }
                }
            }
        });
    }      



+1. В jTextField запретить ввод всего, кроме цифр и пробелов, или пофиг на ввод, но отслеживать это дело и выдавать "Не могу" после нажатия Enter при любых других введенных символах, помимо цифр и пробелов.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Отловить нажите Enter в jTextField / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]