Я знаю, как рисовать изображение с помощью java (с методом paintComponent), но у меня есть проблема: Когда я изменяю размер рамки, изображение остается одного размера, но я хочу, чтобы он увеличивал свой размер, когда я увеличиваю размер рамки и уменьшаю ее размер, когда уменьшаю размер рамки.Нарисуйте изображение с относительным размером до панели
Мой код:
@Override
public void paintComponent(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
g.drawImage(myImage, x, y, myWidth, myHeight, null);
}
Я уверен, что мне нужно использовать метод GetWidth и GetHeight класса JPanel, но я не знаю математику, что мне нужно делать.
Я надеюсь, что кто-то может мне помочь!
PS: Извините за мой плохой английский ...
Вам нужно выбрать, насколько вы хотите, чтобы изображение было в относительном выражении (например, 80% от ширины рамки), затем [масштабировать его] (http://stackoverflow.com/questions/1729887/little-math-help -для-изображений изменение размера необходимого). – BackSlash
переопределить getPreferredSize для JPanel, примеры примеров здесь и в форме SSCCE/MCVE – mKorbel
'Я уверен, что мне нужно использовать метод getWidth и getHeight класса JPanel' - Исправить, так что сделайте это. Просто измените свой код, чтобы использовать этот метод. Также вы должны использовать «this» вместо «null» для последнего параметра метода drawImage (...). – camickr