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

JavaFX — удалить элемент из SwingNode

Предположим, я сделал это -

SwingNode deviceView = new SwingNode();
JDesktopPane desktop = new JDesktopPane();
// Add elements to desktop
deviceView.setContent(desktop);

Есть ли способ удалить desktop из deviceView? Лучший способ, который я могу придумать, это -

deviceView.setContent(new JPanel());

Но есть ли способ просто удалить его?


Как отмечалось в комментариях, я пробовал deviceView.setContent(null);, который, похоже, прослушивается.

28.09.2016

  • setContent(null) не работает? 28.09.2016
  • @James_D нет, сначала попробовал. 28.09.2016
  • Я предполагаю, что это ошибка в интеграции Swing. Узел поворота на самом деле удаляется при использовании setContent(null) (вы можете попробовать это с JButton, который больше не активен), но SwingNode каким-то образом не перерисовывается. 29.09.2016
  • @DVarga да, я тоже видел это в своих попытках. 29.09.2016

Ответы:


1

Вы можете попробовать это и сообщить нам, как это работает, хотя я не пробовал.

deviceView.getContent().removeAll();
29.09.2016
  • Не работает. Я добавил JButton к SwingNode, затем добавил обработчик событий к кнопке JavaFX, которая запускает deviceView.getContent().removeAll();, и ничего не происходит, никаких ошибок, ничего. Я даже пытался поместить его в блок SwingUtitlities.invokeLater. Спасибо, в любом случае. 29.09.2016

  • 2

    Поздно на вечеринку, но вот что вы можете попробовать.
    deviceView.getContent().removeAll(); /****Примечание: пользовательский интерфейс может не отображать никаких обновлений, даже если вы запускаете его внутри метода SwingUtilities.invokeLater */

    /**** Теперь установите новый экземпляр, который позволит вам установить любой другой контент позже. По крайней мере, это то, что я сделал в одном из наших приложений Java FX.*/
    deviceView = new SwingNode();

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

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

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

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

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

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

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

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