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

Большое изображение на JButton не отображается

есть ли способ показать изображение больше, чем маленький значок изображения?

У меня есть изображение png 64x64, которое я пытаюсь показать на кнопке (занять всю кнопку).

но когда я использую

ImageIcon icon = new ImageIcon("somePath");
JButton btnBuildStructure = new JButton(icon);

отображаемое изображение - это только 16x16 в верхнем левом углу изображения, которое я хочу показать

Как мне это сделать? Я хочу, чтобы это выглядело так

введите здесь описание изображения


  • Есть ли способ показать изображение больше, чем маленький значок imageIcon? Конечно. Я использовал изображения значительно большего размера, чем в кнопках. как мне это сделать? 1) Чтобы быстрее получить помощь, опубликуйте MCTaRE (минимальное полное тестирование и Читабельный пример). 2) Один из способов получить изображение (я) для примера - это горячая ссылка на изображения, показанные в этом ответе. 09.03.2014
  • .. на самом деле, здесь есть вопросы и ответы (со скриншотами) изображений 64x64 (шахматные фигуры), отображаемых на кнопках ( места шахматной доски). 09.03.2014

Ответы:


1

Размер JButton должен быть естественным образом до оптимального предпочтительного размера, при котором отображается весь значок. Если этого не происходит, то вы, вероятно, искусственно ограничиваете размер JButton. Решение: правильно используйте менеджеры компоновки, вызовите pack() после добавления всех компонентов и перед установкой видимого графического интерфейса, избегайте пустых макетов, вызывайте revalidate() и repaint() для контейнеров, если вы изменяете какие-либо компоненты, их размеры или предпочтительные размеры (например, как если бы вы меняли значок во время работы программы).

08.03.2014
  • Я рисую свою кнопку в JPanel, а затем добавляю ее в бордюр другого JPanel, поэтому у меня нет доступа к методу pack(). если я не думаю о неправильном методе, не является ли пакет методом JFrame? 09.03.2014
  • @JosephDour: важно, чтобы ваше окно верхнего уровня было packed() после добавления всех компонентов. Для получения дополнительной помощи рассмотрите возможность создания и публикации минимального примера программы (нажмите и прочитайте ссылку). 09.03.2014
  • Я рисую свою кнопку в JPanel,.. Как? Ответ в виде MCTaRE (минимальный полный проверенный и удобочитаемый пример). Горячая ссылка на изображение, как указано выше. 09.03.2014
  • Новые материалы

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

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

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

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

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

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

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