Java: поддержание пропорций фонового изображения JPanel
у меня естьJPanel
с нарисованным фоновым изображением и менеджером макета, содержащим другие меньшие изображения, все это внутриJFrame
, Фоновое изображение довольно большое, и я хочу, чтобы оно сохраняло свое соотношение сторон на большом или маленьком мониторе.
В конце концов, я хочу иметь возможностьLayoutManager
и меньшие изображения в его ячейках «склеены»; на фоновую картинку.
Я искал ресурсы, и кажется, что многие примеры используютBufferedImage
но я нет; это создаст проблему? Я опубликую свой код ниже для рисования изображения. Если мне не хватает информации, пожалуйста, дайте мне знать.
public class MonitorPanel extends JPanel {
Image img;
public MonitorPanel() throws MalformedURLException {
//add components
try {
img = ImageIO.read(new File("src/customer_vlans.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void paintComponent(Graphics g)
{
//paint background image
super.paintComponent(g);
//g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
g.drawImage(img, 0, 0, this);
}
}
EDIT: I should mention that I know the aspect ratio formula: original height / original width x new width = new height Однако я не знаю, как правильно использовать это в своих интересах.