Динамическое добавление и удаление компонентов с JPanel и JScrollPane

Java Swing - Динамическое добавление и удаление компонентов Временами при написании приложений на Java Swing, требуется реализовать динамическое добавление и удаление компонентов пользовательского интерфейса — то есть добавление и удаление компонентов должно происходить во время работы приложения. В недавних комментариях в одному посту проявлялся интерес к этому вопросу. Пример такого приложения будет рассмотрен далее — это достаточно простое приложение с двумя кнопками: добавить + и удалить -. При нажатии на кнопку добавления должно происходить создание нового компонента JLabel и добавление его на панель, при удалении — последний добавленный JLabel удаляется, панель перерисовывается и больше мы его не видим. Давайте посмотрим как это сделать. Продолжить чтение этой записи

Реклама

Icon и ImageIcon – использование иконок в Java Swing

Icon и ImageIcon - использование иконок в Java Swing Некоторые компоненты Java Swing поддерживают иконки. Например, у кнопок, текстовых меток или у пунктов меню могут быть установлены иконки. На рисунке можно посмотреть внешний вид тестового приложения, у которого для кнопки и для текстовой метки установлены иконки. Это стандартные иконки Java Swing. Продолжить чтение этой записи

FontMetrics — как узнать размер строки или символа в Java Swing

Каждый пользователь проводника Windows сто тысяч раз наблюдал следующую картину — как только строка названия файла или папки слишком большая, то она обрезается и вместо недостающих символов добавляется многоточие. Как и при помощи чего такое можно сделать на Java Swing? Давайте посмотрим. Продолжить чтение этой записи

Работаем со StackTrace или как узнать, кто вызвал код

Совсем недавно решил усовершенствовать свой логер, про который уже писал ранее. Возникла необходимость внутри метода логера узнать, какой класс и метод делают вызов. Выход нашелся очень быстро, и не пришлось писать кучу ненужного кода — Java для такого случая имеет встроенный механизм, который позволяет отследить весь стек вызовов. Давайте посмотрим, как это сделать. Продолжить чтение этой записи