Nano Hash - криптовалюты, майнинг, программирование

Действие или кнопка формы Java по умолчанию

В HTML-формах, если вы нажмете «ввод», находясь в текстовом поле, форма обычно будет отправлена.

Я реализую панель поиска в Java Swing и хочу включить ту же функциональность, которую, как я думаю, ожидают пользователи.

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

Редактировать: есть getRootPane().setDefaultButton(...), но это только устанавливает кнопку по умолчанию для фрейма. Это не сработало бы для меня, поскольку я использую панель с вкладками, на каждой панели которой есть форма!


  • afaik, тот факт, что enter отправляет html-форму, является скорее особенностью браузера, чем html. я боюсь, что в java нет другого решения, кроме как добавить прослушиватель ключей в поле jtext 03.08.2009
  • Я думаю, что ActionListener будет лучше, чем KeyListener - прослушиватель действий срабатывает при вводе в текстовое поле. 03.08.2009

Ответы:


1

IIRC, добавление ActionListener в JTextField обеспечит желаемую функциональность

погуглите позже...

Да, похоже, что это рекомендованный компанией Sun способ, как показано в след текстового поля...

03.08.2009

2

Возможно, вам придется прослушивать переключение вкладок и сбрасывать кнопку по умолчанию для текущей вкладки с помощью getRootPane().setDefaultButton(...).

03.08.2009
  • И вы бы использовали ChangeListener для прослушивания переключения вкладок. 03.08.2009

  • 3

    У нас такая же проблема в одном из наших приложений.

    Вы можете добавить Key Listener в редактор JTextField:

    txtField.getEditor().getEditorComponent().addKeyListener(new java.awt.event.KeyAdapter()
    {
      @Override
      public void keyTyped(final KeyEvent e)
      {
        super.keyTyped(e);
    
        // Check if the user pressed Enter
        if (e.getKeyChar() == '\n')
        {
          // Action here/button press here
        }
      }
    });
    
    03.08.2009
  • -1 — вы не будете использовать KeyListener для прослушивания клавиши Enter в JTextField. Вы либо используете ActionListener, либо метод setAction. 03.08.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..