Есть вот такое окно:
Картинка загружается через меню File следующим образом:
JLayeredPane imageLayer = new JLayeredPane();
imageLayer.setBorder(BorderFactory.createTitledBorder("View"));
imageLayer.setLayout(new BorderLayout());
getContentPane().setLayout(new BorderLayout());
getContentPane().add(imageLayer, BorderLayout.CENTER);
load.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BufferedImage image = loadImage();
if(image!=null) {
JLayeredPane formPanel = new JLayeredPane();
formPanel.setBounds(5, 10, 670, 570);
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
JScrollPane scroll = new JScrollPane(label,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
formPanel.add(scroll);
scroll.setBounds(5, 10, 570, 470);
imageLayer.add(formPanel);
}
}
});
Как привязать загружаемую картинку к размеру окна, чтоб скроллинг появлялся автоматически, при необходимости? Если убрать
JLayeredPane
, то картинка отображается только после того, как размер окна будет изменён (в ручную делаю ресайз и появляется картинка. Иначе она не отображается).
load.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BufferedImage image = loadImage();
if(image!=null) {
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
imageLayer.add(label);
}
}
});