Как применить JScrollPane к - Java

Узнай цену своей работы

Формулировка задачи:

Приветствую Всех. Вот класс:
Листинг программы
  1. public class DrawImg extends JPanel{
  2. BufferedImage img = null;
  3. Image image = null;
  4. DrawImg (BufferedImage bImg) {
  5. super();
  6. img = bImg;
  7. }
  8. @Override
  9. public void paint(Graphics g) {
  10. super.paint(g);
  11. }
  12. @Override
  13. public void paintComponent(Graphics g) {
  14. image = img.getScaledInstance(500,800,Image.SCALE_DEFAULT);
  15. g.drawImage(img,5,5,500,800,null);
  16. }
  17. }
Вот main:
Листинг программы
  1. DrawImg myImg = new DrawImg(bufImg);
  2. myImg.setLayout(new GridLayout(2,1));
  3. JScrollPane scrollmyImg = new JScrollPane(myImg);
  4. frame.add(scrollmyImg);
Не появляется JScrollPane

scrollmyImg

. Почему так? Что нужно сделать? Где лучше выводить изображение в

paintComponent ()

или в

paint()

?

Решение задачи: «Как применить JScrollPane к»

textual
Листинг программы
  1. import javax.imageio.ImageIO;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.image.BufferedImage;
  5. import java.io.IOException;
  6. import java.net.MalformedURLException;
  7. import java.net.URL;
  8.  
  9. public class Main2  {
  10.  
  11.     JFrame frame;
  12.     BufferedImage bufImg;
  13.  
  14.     Main2 () throws IOException {
  15.  
  16.         frame = new JFrame();
  17.         frame.setLayout( new GridLayout(1,1));
  18.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  19.         //frame.setResizable(false);
  20.         frame.setSize(800,800);
  21.         frame.setLocationRelativeTo(null);
  22.         frame.setVisible(true);
  23.  
  24.  
  25.  
  26.         String strURL = "http://i.playground.ru/i/93/88/85/10/pix/image.jpg";
  27.         BufferedImage bufImg ;
  28.         bufImg = ImageIO.read(new URL(strURL));
  29.         DrawImg myImg = new DrawImg(bufImg);
  30.         myImg.setLayout(new GridLayout(1,1));
  31.         JScrollPane scrollmyImg = new JScrollPane(myImg);
  32.         frame.add(scrollmyImg);
  33.     }
  34.  
  35.     public static void main(String[] args) {
  36.  
  37.         SwingUtilities.invokeLater(new Runnable() {
  38.             @Override
  39.             public void run() {
  40.  
  41.                 try {
  42.                     new Main2();
  43.                 } catch (IOException e) {
  44.                     e.printStackTrace();
  45.                 }
  46.             }
  47.         });
  48.  
  49.  
  50.     }
  51. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут