K
k.mucha4
Hi,
I've got a problem: I want to write an application with 6 JButtons.
Clicking on each JButton should display an appriopriate image. Images
are .jpg files (1000x1000 pixels).
Now, I've got something like that:
URL img1Url, img2Url, img3Url, img4Url, img5Url, img6Url;
JLabel img1, img2, img3, img4, img5, img6;
img1Url = getClass().getResource("img1.jpg");
img2Url = getClass().getResource("img2.jpg");
img3Url = getClass().getResource("img3.jpg");
img4Url = getClass().getResource("img4.jpg");
img5Url = getClass().getResource("img5.jpg");
img6Url = getClass().getResource("img6.jpg");
img1 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img1Url)));
img2 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img2Url)));
img3 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img3Url)));
img4 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img4Url)));
img5 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img5Url)));
img6 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img6Url)));
After that, I add all JLabels to JPanel and do setVisible() on each
JLabel using JButtons.
But when I create 6 JLables at one time, the memory usage increase up
to 22MB(!!!). If I wanted to use 20 images, the out of memory error is
sure.
So how should I build such application? What should I do to load into
memory only one image, which is currently displayed?
Please, help me.
I've got a problem: I want to write an application with 6 JButtons.
Clicking on each JButton should display an appriopriate image. Images
are .jpg files (1000x1000 pixels).
Now, I've got something like that:
URL img1Url, img2Url, img3Url, img4Url, img5Url, img6Url;
JLabel img1, img2, img3, img4, img5, img6;
img1Url = getClass().getResource("img1.jpg");
img2Url = getClass().getResource("img2.jpg");
img3Url = getClass().getResource("img3.jpg");
img4Url = getClass().getResource("img4.jpg");
img5Url = getClass().getResource("img5.jpg");
img6Url = getClass().getResource("img6.jpg");
img1 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img1Url)));
img2 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img2Url)));
img3 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img3Url)));
img4 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img4Url)));
img5 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img5Url)));
img6 = new JLabel(new
ImageIcon(Toolkit.getDefaultToolkit().createImage(img6Url)));
After that, I add all JLabels to JPanel and do setVisible() on each
JLabel using JButtons.
But when I create 6 JLables at one time, the memory usage increase up
to 22MB(!!!). If I wanted to use 20 images, the out of memory error is
sure.
So how should I build such application? What should I do to load into
memory only one image, which is currently displayed?
Please, help me.