2013-07-26 3 views
1

Я использую несколько JButtons в моем кадре, и я хочу установить изображение в JButton. Я могу установить размер изображения, используя следующий код.Установить размер/размер изображения в JButton

Image img = icon.getImage() ; 
Image newimg = img.getScaledInstance(NEW_WIDTH, NEW_HEIGHT, java.awt.Image.SCALE_SMOOTH) ; 
icon = new ImageIcon(newimg); 

А также я просмотрел следующую ссылку.

resizing a ImageIcon in a JButton

Я использую WindowBuilder в моем затмение Юноны. И я установил изображение, установив свойства, называемые значком, и в исходном коде он генерирует следующий код.

btnSave.setIcon(new ImageIcon(Patient_Detail.class.getResource("/Icons/download_icon.png"))); 

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

Есть ли какой-либо прямой подход или метод для установки размера изображения как размера JButton с помощью WindowBuider или добавления какого-либо метода в текущий код?

ответ

2

См. this answer для примера того, как это сделать (предполагается, что «это» имеет кнопку того же размера, что и значок кнопки »).

Что вы видите ниже на самом деле 5 ярлыков & 4 кнопки, каждая из которых содержит части изображения. Красную рамку можно увидеть вокруг одной из кнопок.

+0

нет прямого метода, чтобы установить размер изображения ??? затем принимая буферизованное изображение я также использовать приведенный выше код, который уже работает .... установить размер изображения ... –

+0

вы можете сказать мне почему следующий код не работает. он не отображает изображение. JButton btnSave = новый JButton (новый ImageIcon (((новый ImageIcon ("/ Icons/download_icon.png")). GetImage()). GetScaledInstance (102,51, java.awt.Image.SCALE_SMOOTH))); –

+0

, пожалуйста, кто выиграет, будет работать, но должен рассчитывать с задержкой, вызванной асинхронным выходом из ScalledInstance, загружать весь объект на основе FileIO в локальные переменные, а затем использовать несколько методов, реализованных в API, например. myButton.setIcon (myIconXxx); – mKorbel