Java Swing Customize Controls - PullRequest
       4

Java Swing Customize Controls

3 голосов
/ 16 марта 2011

Я хочу знать, как создать новый элемент управления Swing.

Моя проблема связана с отсутствием некоторых компонентов в Swing (например, DatePicker)

Я просмотрел Stack Overflow (и некоторые другие сайты) и нашел несколько старых ответов, но безуспешно (несколько ссылок больше не работают).

Так вы могли бы указать мне в каком-то направлении?

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

Создание компонента Swing с нуля - это большая работа, поэтому, вероятно, проще сначала найти что-то в Интернете.

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

Если вы действительно хотите создать совершенно новый элемент управления, возможно, эта статья может дать вам импульс:

Как написать пользовательский компонент Swing

2 голосов
/ 16 марта 2011

Существует очень большое количество компонентов, которые вы можете использовать в своем приложении.Google поможет вам найти их.Примером средства выбора даты является JCalendar и Java Swing Date Picker .Просто скачайте его, добавьте банку в ваше приложение и используйте его.Вы можете легко добавить его в виде компонента в палитру вашей IDE и перетащить его, как JButton.У JCalendar есть также JDayChooser, JYearChooser, пара вращающихся бинов и JLocaleChooser.Я использую Kai Toedter 'JCalendar несколько лет и очень рекомендую его.Локализация проста.

Если вы хотите создать свои собственные элементы управления, вы должны создать их как Java Beans.Объекты должны быть сериализуемыми, иметь конструктор без аргументов и методы доступа и мутаторы с именами set, get и is.Старая, но хорошая статья о JavaBeans находится в Java-World .Вы можете изучить исходники Java JCalendar.

2 голосов
/ 16 марта 2011

Взгляните на SwingX , в котором рассматриваются некоторые из тех недостающих компонентов, которые вы заметили в ядре Swing!

Поверьте, вы делаете не хотите реализовать свой собственный DatePicker.У SwingX есть один (JXDatePicker), он работает довольно хорошо, посмотрите статью здесь , чтобы узнать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...