public class ImageViewer extends JFrame implements ActionListener{
BufferedImage image;
JPanel panelNaZdjecia = new JPanel();
BufferedImage bi;
ImageViewer() throws IOException{
setTitle("ImageViewer");
Toolkit localToolkit = Toolkit.getDefaultToolkit();
Dimension localDimension = localToolkit.getScreenSize();
int i = localDimension.width;
int j = localDimension.height;
setBounds(i / 4, j / 4, i / 2, j / 2);
BufferedImage ikona = ImageIO.read(new File("luneta.png"));
setIconImage(ikona);
setJMenuBar(doMenu());
JScrollPane localJScrollPane = new JScrollPane(this.panelNaZdjecia, 22, 30);
//setLayout(new BorderLayout());
add(localJScrollPane, "Center");
add(doToolBar(),BorderLayout.NORTH);
add(panelNaZdjecia,BorderLayout.CENTER);
panelNaZdjecia.add(new PanelDoRysowania(),BorderLayout.CENTER);
//add(new PanelDoRysowania(),BorderLayout.CENTER);
setVisible(true);
setDefaultCloseOperation(3);
}
private class PanelDoRysowania extends JPanel
{
public void paintComponent(Graphics g)
{
try
{
image = ImageIO.read(new URL("http://wallpapers.wallbase.cc/rozne/wallpaper-1632686.jpg"));
}
catch (IOException a)
{
System.out.println("blad odczytu");
}
g.drawImage(image, 0, 0, null);
}
}
Nie wiem jak dodać tutaj scrollbara. Chodzi mi o to żeby przy wczytaniu dużego zdjęcia można było je przesuwać. Jeśli jest tak jak teraz to nie widać obrazka tzn. obrazek jest tylko w małym kwadraciku na środku. Gdy zrobię tak:
JScrollPane localJScrollPane = new JScrollPane(this.PanelDoRysowania, 22, 30);
to znowu ucina obrazek i nie widać scrollbara.