Как применить JScrollPane к - Java
Формулировка задачи:
Приветствую Всех.
Вот класс:
Вот main:
Не появляется JScrollPane
public class DrawImg extends JPanel{
BufferedImage img = null;
Image image = null;
DrawImg (BufferedImage bImg) {
super();
img = bImg;
}
@Override
public void paint(Graphics g) {
super.paint(g);
}
@Override
public void paintComponent(Graphics g) {
image = img.getScaledInstance(500,800,Image.SCALE_DEFAULT);
g.drawImage(img,5,5,500,800,null);
}
}DrawImg myImg = new DrawImg(bufImg);
myImg.setLayout(new GridLayout(2,1));
JScrollPane scrollmyImg = new JScrollPane(myImg);
frame.add(scrollmyImg);scrollmyImg
. Почему так? Что нужно сделать? Где лучше выводить изображение вpaintComponent ()
или вpaint()
?Решение задачи: «Как применить JScrollPane к»
textual
Листинг программы
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
public class Main2 {
JFrame frame;
BufferedImage bufImg;
Main2 () throws IOException {
frame = new JFrame();
frame.setLayout( new GridLayout(1,1));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setResizable(false);
frame.setSize(800,800);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
String strURL = "http://i.playground.ru/i/93/88/85/10/pix/image.jpg";
BufferedImage bufImg ;
bufImg = ImageIO.read(new URL(strURL));
DrawImg myImg = new DrawImg(bufImg);
myImg.setLayout(new GridLayout(1,1));
JScrollPane scrollmyImg = new JScrollPane(myImg);
frame.add(scrollmyImg);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
new Main2();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}