setpreferredsize java что делает

Работаем с JLabel

JLabel это пожалуй самый простой компонент, который есть в Java Swing. С помощью JLabel можно показать текст с иконкой. Если нужен какой-то компонент, чтобы отобразить какое-то сообщение пользователю или сделать для поля ввода текстовую метку, или показать иконку — используем JLabel. Текст, который показывает JLabel выделять нельзя, только смотреть.

Для создания объекта JLabel, который затем будем располагать в окне, можно воспользоваться конструктором со строковым параметром public JLabel(String text). Строковый параметр — это текст, который будет показываться в JLabel. Кроме того текст, который будет отображаться в JLabel можно установить при помощи метода setText. Единственным параметром метода является строка отображаемого текста String.

JLabel позволяет настраивать шрифт, который будет использоваться для отображения текста. Установка шрифта происходит при помощи метода setFont класса JLabel. Этому методу в качестве параметра передается объект Font. Что мы хотим, когда указываем или создаем шрифт? Первое — это начертание, Verdana или Courier New, или другое. Второе — размер шрифта и третье — жирный будет шрифт или нормальный, или может быть курсив. Поэтому подходящий конструктор для Font это тот, который содержит сразу все три параметра — public Font(String name, int style, int size). Первый параметр, как уже ясно, это имя шрифта. Если параметр не задан, то используется шрифт по умолчанию. Второй параметр задает стиль — жирный, нормальный или курсив. Сюда необходимо передать одну из констант объекта Font — Font.BOLD (жирный), Font.PLAIN (нормальный или плоский) и Font.ITALIC (курсив). Ну и третий параметр — размер шрифта. Объект Font можно создать вот так:

Font font = new Font(«Verdana», Font.PLAIN, 11);

После установки текста и шрифта у JLabel иногда бывает нужно определить выравнивание текста по вертикали и горизонтали. Делается это при помощи двух методов setVerticalAlignment и setHorizontalAlignment соответственно. В качестве параметров для setVerticalAlignment нужно использовать что-то из следующего списка: JLabel.TOP (выравнивать по верхнему краю), JLabel.CENTER (по центру) и JLabel.BOTTOM (выравнивание по нижнему краю). Для метода setHorizontalAlignment параметров больше — JLabel.LEFT (по левому краю), JLabel.CENTER (по центру), JLabel.RIGHT (по правому краю), JLabel.LEADING и JLabel.TRAILING. Интересны последние две константы. Для языков, у которых написание текста идет слева направа JLabel.LEADING — это левый край, а JLabel.TRAILING — правый. Для языков, у которых написание происходит справа налева, JLabel.LEADING — это правый край, а JLabel.TRAILING — левый.

JLabel позволяет отображать иконку вместе с текстом. Для установки иконки используется метод setIcon. Единственный параметр метода — это объект Icon. Когда задана иконка для JLabel, то можно задать расположение текста относительно иконки. Для этого используются методы setVerticalTextPosition и setHorizontalTextPosition. В качестве параметров используются те же константы, что и при выравнивании текста.

Идем дальше. Шрифт мы выбрали. Теперь нужно определить, какого цвета будет текст у нашего JLabel. Делается это при помощи метода setForeground. Сюда нужно передать объект Color. Для создания Color можно воспользоваться разными конструкторами или вместо этого воспользоваться константами, которые определены в объекте Color. Здесь есть черный Color.BLACK, зеленый Color.GREEN, красный Color.RED и другие. Если нужно создать какой-то специфический цвет, то придется воспользоваться конструктором. Для меня, например, самый удобный public Color(int red, int green, int blue). Передаем сюда необходимые составляющие цвета и получаем то, что хотели. Ну а затем устанавливаем цвет у JLabel.

Кроме цвета шрифта можно задать цвет фона JLabel. Делается это с помощью метода setBackground. Интересный момент. По умолчанию, даже если цвет фона установлен, фон у JLabel не отображается. Для того, чтобы JLabel стал показывать фон необходимо вызвать метод setOpaque и передать туда true. Тем самым мы скажем JLabel, что хотим сделать непрозрачным его фон. Цвет фона задается аналогично цвету текста, то есть методу setBackground передается объект Color, который содержит информацию о цвете.

У JLabel, как и у других компонентов, можно устанавливать размеры. Делается это при помощи метода setPreferredSize. Сюда передается объект Dimension с требуемой шириной и высотой.

label.setPreferredSize(new Dimension(100, 100));

Еще одна особенность, про которую нужно обязательно рассказать — это использование HTML в качестве текста. К примеру, в тестовом приложении JLabel используется для того, чтобы показать краткое
описание Google Labs на английском языке.

По традиции тестовое приложение. Здесь я попытался продемонстрировать возможности на практике, о которых говорилось выше. На самой верхней панели можно увидеть результат работы с методами, устанавливающими выравнивание текста JLabel. Для того, чтобы было лучше видно выравнивание, я добавил к каждому JLabel черный border шириной в один пиксель. На средней панели — работа с позиционированием текста JLabel относительно иконки и наконец на самой нижней — использование HTML для отображения в JLabel текста. Внешний вид приложения представлен на рисунке ниже.

Источник

Инструменты пользователя

Инструменты сайта

Содержание

AWT и Swing

В первой версии языка Java для работы с графикой было только библиотека AWT. Эта библиотека – простой набор классов, таких, как Button(кнопка),TextField (текстовое поле), Label (текстовая метка или иконка) и другие.
Вскоре была создана более совершенная библиотека, которую назвали Swing. Она так же включает в себя кнопки,текстовые поля и другие элементы управления графическими приложениями. Названия компонентов этой библиотеке начинается с буквы J. Например JButton, JTextField и т.д.

Работать в Swing лучше, быстрей и удобней.

Основные элементы Swing

Вот некоторые основные объекты, из которых состоят Swing приложения:

Например, можно создать экземпляр класса JPanel и назначить для него схему размещения. Затем создайте различные графические компоненты и добавьте их на панель. После этого добавьте панель на фрейм, задать его размер и сделать его видимым.

JFrame является главным окном для размещения компонентов и представляет их пользователю.

Панель

Панель JPanel — это элемент управления, представляющий собой прямоугольное пространство, на котором можно размещать другие элементы. Элементы добавляются и удаляются методами, унаследованными от класса Container.

У каждой панели есть менеджер размещения, который определяет стратегию взаимного расположения элементов, добавляемых на панель. Его можно изменить методом setLayout(LayoutManager manager).

Оконные элементы управления

Класс JComponent

Все визуальные компоненты библиотеки Swing унаследованы от класса JComponent. Сам этот класс является абстрактными и непосредственно не используется, но все визуальные компоненты наследуют его методы.

Метка JLabel

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

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Кнопка JButton

Компоненты JToggleButton, JCheckBox, JRadioButton

Компонент JToggleButton представляет собой кнопку, которая может находиться в двух состояниях: нажатом и отпущенном.
Когда пользователь щелкает мышкой по такой кнопке, она изменяет свое состояние. Именно таким образом ведут себя кнопки форматирования на инструментальной панели текстового редактора. Кнопка [I] не только устанавливает или убирает курсивное начертание в выделенном тексте, но и сигнализирует о его наличии или отсутствии.

От класса JToggleButton унаследован класс JCheckBox — флажок.
Этот класс имеет точно такой же набор конструкторов и методов, т.е. не расширяет функциональность предка. Единственное различие между ними — во внешнем виде: JCheckBox выглядит не как кнопка, а как небольшой квадратик, в котором можно поставить или убрать галочку.

Аналогичным образом ведет себя класс JRadioButton — переключатель или радиокнопка, внешне выглядящая как пустой кружок, когда она не выделена и кружок с точкой в выделенном состоянии.

Для того, чтобы элементы объединить в группу, используется специальный контейнер ButtonGroup Если добавить в один такой контейнер несколько элементов JRadioButton, то выбранным всегда будет только один из них.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Текстовое поле JTextField

Для создания текстового поля чаще всего используются конструкторы:

Поле для ввода пароля JPasswordField

JPasswordField является прямым потомком JTextField, поэтому для него справедливо все сказанное выше. JPasswordField является прямым потомком JTextField, поэтому для него справедливо все сказанное выше.

Область для ввода текста JTextArea

JTextArea также является потомком JTextField и наследует все его методы.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Панель прокрутки JScrollPane

JScrollPane — панель прокрутки. Чаще всего она просто «надевается» на требуемый объект посредством собственного конструктора, принимающего этот объект в качестве параметра. Например, чтобы текстовая область textArea из предыдущего примера обрела полосы прокрутки, необходимо заменить команду

Инструментальная панель JToolBar

В Swing для инструментальных панелей разработан визуальный компонент JToolBar, в котором заложена просто потрясающая функциональность.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Выпадающий список JComboBox

Выпадающий список — весьма распространенный элемент управления. Он содержит множество вариантов, из которых пользователь может выбрать один и только один, либо (если выпадающий список это позволяет) ввести свой собственный.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Ползунок JSlider

Ползунок позволяет пользователю выбрать некоторое число из диапазона доступных значений, наглядно представив этот диапазон.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Панель со вкладками JTabbedPane

Многим программам бывает необходимо разместить в одном окне большое количество элементов управления, некоторые из которых (такие как списки, деревья, текстовые области и т.д.) могут к тому же занимать приличное пространство. setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Список JList

Список содержит группу элементов, аналогично выпадающему списку JComboBox, но обладает двумя отличительными особенностями. Во-первых, на экране видны одновременно несколько элементов списка. Во-вторых, пользователь может выбрать в списке не один элемент, а несколько (если установлен соответствующий режим выделения).

Создать список можно с помощью конструктора, работающего на основе массива Object[] или вектора Vector (аналогично JComboBox).

JTable Таблицы

Для отображения табличных данных используется комопнент JTable. JTable внутри себя не содержит данные, а служит только для их отображения.

JFileChooser для выбора файла

При работе с файлами из приложения возникает необходимость рано или поздно использовать диалог для выбора файлов. setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

JProgressBar полоса загрузки

JMenuBar

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Стандартные диалоговые окна

Менеджер размещения

Менеджер последовательного размещения FlowLayout

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Менеджер граничного размещения BorderLayout

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

При добавлении элемента на панель с менеджером размещения BorderLayout, необходимо дополнительно указывать в методе add(), какая из областей имеется в виду. Для этого служат строки с названиями сторон света: «North», «South», «East», «West» и «Center». Но вместо них рекомендуется использовать константы, определенные в классе BorderLayout: NORTH, SOUTH, EAST, WEST и CENTER (поскольку в строке можно допустить ошибку и не заметить этого, а при попытке написать неправильно имя константы компилятор выдаст предупреждение). setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Менеджер табличного размещения GridLayout

GridLayout разбивает панель на ячейки одинаковой ширины и высоты (таким образом окно становится похожим на таблицу). Каждый элемент, добавляемый на панель с таким расположением, целиком занимает одну ячейку. Ячейки заполняются элементами по очереди, начиная с левой верхней.

Этот менеджер, в отличие от рассмотренных ранее, создается конструктором с параметрами (четыре целых числа). Необходимо указать количество столбцов, строк и расстояние между ячейками по горизонтали и по вертикали.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Менеджер блочного размещения BoxLayout и класс Box

Менеджер BoxLayout размещает элементы на панели в строку или в столбец. Обычно для работы с этим менеджером используют вспомогательный класс Box, представляющий собой панель, для которой уже настроено блочное размещение. Создается такая панель не конструктором, а одним из двух статических методов, определенных в классе Box: createHorizontalBox() и createVerticalBox().

Элементы, добавленные на панель с блочным размещением, выстраиваются один за другим. Расстояние между элементами по умолчанию нулевое. Однако вместо компонента можно добавить невидимую «распорку», единственная задача которой — раздвигать соседние элементы, обеспечивая между ними заданное расстояние.

Горизонтальная распорка создается статическим методом createHorizontalStrut(int width), а вертикальная — методом createVerticalStrut(int height). Оба метода определены в классе Box, а целочисленный параметр в каждом из них определяет размер распорки.

setpreferredsize java что делает. Смотреть фото setpreferredsize java что делает. Смотреть картинку setpreferredsize java что делает. Картинка про setpreferredsize java что делает. Фото setpreferredsize java что делает

Ручное размещение элементов

Если в качестве менеджера размещения панели установить null, элементы не будут расставляться автоматически. Координаты каждого элемента необходимо в этом случае указать явно, при этом они никак не зависят от размеров панели и от координат других элементов. По умолчанию координаты равны нулю (т.е. элемент расположен в левом верхнем углу панели). Размер элемента также необходимо задавать явно (в противном случае его ширина и высота будут равны нулю и элемент отображаться не будет). Координаты элемента можно задать одним из следующих методов:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *