Как эффективно добавить компоненты на панель качания с фоновым изображением? - PullRequest
1 голос
/ 18 июня 2009

У меня есть JPanel, на который я пытаюсь добавить несколько кнопок. У меня есть растровое фоновое изображение, на котором я должен рисовать кнопки. У меня есть изображения для всех кнопок. Мне нужно, чтобы фон масштабировался с помощью кнопок и расстояния, чтобы быть корректным. Есть ли чистый способ сделать это или это будет больно?

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 июня 2009

Сначала JPanel с фоновым изображением очень прост. Получите свою собственную панель из JPanel, добавьте поле Image. Переопределите метод paintComponent (), чтобы сделать drawImage (), используя изображение, хранящееся в поле.

Второй кнопки. Получите свою собственную кнопку, добавьте изображение в конструктор и используйте setIcon (), чтобы поместить ее на кнопку. используйте setPressedIcon (), ... и т. д., чтобы добавить дополнительные изображения для различных состояний кнопок.

Наконец, масштабирование, мне не ясно, что вы хотите. DrawImage () может масштабировать изображение, так что это не проблема. Вы можете расположить кнопки при изменении размера JPanel, добавив прослушиватель. Затем вы можете изменить положение кнопок, значения x, y должны быть рассчитаны как% ширины и высоты панели. Можно даже изменить масштаб кнопок, чтобы соотношение ширины и высоты совпадало с соотношением панелей.

Так что да, есть чистый способ сделать это.

0 голосов
/ 15 декабря 2013

Сначала JPanel с фоновым изображением очень прост. Получите свою собственную панель из JPanel, добавьте поле Image. Это я понимаю, но когда попробую сделать этот 2 шаг, то покажу проблемы

Second Переопределите метод paintComponent (), чтобы сделать drawImage (), используя изображение, хранящееся в поле.

Можете ли вы показать мне пример

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