У меня есть 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: Я должен упомянуть, что я знаю форму соотношения сторон: оригинальный высота/оригинальный ширина x новый ширина = новый высота Однако я не знаю, как правильно использовать это в свою пользу.