У меня есть изображение, слишком высокое для моего JFrame, даже когда оно максимально. Я хочу динамически изменять его размер так, чтобы изображение никогда не обрезалось сверху или снизу JFrame. Я вставил изображение в JLabel как ImageIcon. Я попытался установить максимальный размер безрезультатно. Как я могу гарантировать, что высота изображения никогда не будет больше, чем JFrame? В идеале я бы хотел поддерживать постоянное отношение высоты к ширине. Изображение находится в портретной ориентации. Есть идеи?Как изменить размер изображения Высота до высоты JFrame?
public class myClass extends JFrame {
private void initGUI(){
pane = getContentPane();
pane.setLayout(new BorderLayout());
next = new JButton("Next");
previous = new JButton("Previous");
page = new JLabel(loadImg());
page.setMaximumSize(this.getSize());
pane.add(next, BorderLayout.EAST);
pane.add(previous, BorderLayout.WEST);
pane.add(page, BorderLayout.CENTER);
}
}
Я хотел бы отметить, что вы задаете размер, прежде чем что-либо появится в реальной области содержимого. –
Я отредактировал код, чтобы сделать его более ясным – Skylion
Вы можете взглянуть на [это] (http://stackoverflow.com/questions/11959758/java-maintaining-aspect-ratio-of-jpanel-background-image/ 11959928 # 11959928) и [это] (http://stackoverflow.com/questions/14548808/scale-the-imageicon-automatically-to-label-size/14553003#14553003) – MadProgrammer