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

Как управлять выделением определенного текста в TextArea (JavaFX)?

Я использую JavaFX и имею TextArea. В textArea мне нужен какой-то способ, чтобы пользователь мог выбирать только одну строку за раз. Итак, для моей кнопки удаления у меня есть:

deleteButton.setOnAction(e -> { 
    String s = "DELETE: ";
    s += receipt.getSelectedText();
    receipt.replaceSelection(s); 
}); 

Как я могу обеспечить, чтобы пользователь мог выбирать только одну полную строку за раз? Каждая строка будет иметь \n в качестве прерывателя, поэтому я подумал, что могу каким-то образом использовать его в качестве ключа. Проблема заключается в том, что пользователи могут выбирать более одной строки за раз или часть строки. И да, я должен использовать textArea. У меня сейчас есть кнопка удаления, которая читает то, что было удалено, и отображает это. Чтение моего кода отлично работает с этой проблемой. У меня есть около 15 классов, которые все принимают textAreas в качестве параметра, где при нажатии кнопки он добавляет его к TextArea, а затем сохраняет его в указанном объекте в качестве определенного атрибута. Мне просто нужно управление подсветкой, или способ добавить флажок, или способ прочитать, где пользователь щелкает, который выделяет всю строку (но если щелкнуть где-то еще, он выделяет/выбирает эту строку или пытается выделить себя, это не не позволяйте им).


  • Хм. У меня есть 15 классов, все из которых принимают TextAreas в качестве параметра... Это действительно плохой дизайн. Вы должны отделить представляемые данные (набор строк или строк текста и т. д.) от фактического представления данных (текстовой области или любого другого подходящего элемента управления). Проблема (как вы обнаружите) заключается в том, что если вы обнаружите, что хотите изменить презентацию - например. используйте представление списка вместо текстовой области - вы не можете, потому что API для вашей логики зависит от определенного пользовательского интерфейса. Гораздо лучше провести рефакторинг и исправить это сейчас, чем продолжать вкладывать средства в плохой дизайн. 06.11.2017

Ответы:


Новые материалы

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

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

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

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

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

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

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