Swing: не отображается изображение во фрейме - Java
Формулировка задачи:
Доброго времени суток. Изучаю Java по книге "Java. Библиотека профессионала. Том 1" Авторы: Кей С. Хорстманн, Гари Корнелл.
Есть в книге такой пример (стр. 355):
Программа должна могократно выводить изображение в окне, чего не происходит. Это уже второй пример который у меня выполняется некорректно. Предыдущий был с иконкой в строке заголовка - иконка остовалась стандартной.
Почему код из книги не работает и какие причины могут быть? Заренее спасибо.
import java.awt.*; import javax.swing.*; public class ImageDemo { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setTitle("Image Demo"); } }); } } class ImageFrame extends JFrame { public ImageFrame() { add(new ImageComponent()); pack(); } } class ImageComponent extends JComponent { private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 200; private Image image; public ImageComponent() { image = new ImageIcon("12xp.gif").getImage(); } public void paintComponent(Graphics g) { if (image == null) return; int imageWidth = image.getWidth(this); int imageHeight = image.getHeight(this); g.drawImage(image, 0, 0, null); for (int i = 0; i * imageWidth <= getWidth(); i++) for(int j = 0; j * imageHeight <= getHeight(); j++) if(i+j > 0) g.copyArea(0, 0, imageWidth, imageHeight, i * imageWidth, j * imageHeight); } public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } }
Решение задачи: «Swing: не отображается изображение во фрейме»
textual
Листинг программы
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("12_xp.png")));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д