JScrollPane en una imagen
estoy intentando poner un Scroll en una foto para moverla al ser mayor q la pantalla y no caber entera, el problema es q no sale el scroll, e de implementarlo así, no puedo usar ImageIcon.... Aqui les daso el codigo fuente espero q se les ocurra algo y me echen un cable
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
public class jscrol extends JFrame {
private static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public jscrol (){
super("Imagen");
fondo f = new fondo();
getContentPane().add(f, BorderLayout.CENTER);
setSize(d.width, d.height-30);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);}
});
}
public static void main(String args[]) {
new jscrol();
}
};
class fondo extends JPanel {
Image imagen;
int ancho, alto;
JScrollPane scroll = new JScrollPane(this);
public fondo(){
imagen = Toolkit.getDefaultToolkit().getImage("annakorn_21_1024.jpg");
try { //Esperamos hasta q la magen sea cargada para poder coger su anchura y altura
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(imagen, 0);
tracker.waitForID(0);
}catch (Exception e) {e.printStackTrace();}
ancho = imagen.getWidth( this ); //recogemos datos de la iamgen
alto = imagen.getHeight( this );
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
public void paint(Graphics g) {
setSize(ancho, alto);
g.drawImage( imagen,0,0,getWidth(),getHeight(),this );}
};
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
public class jscrol extends JFrame {
private static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public jscrol (){
super("Imagen");
fondo f = new fondo();
getContentPane().add(f, BorderLayout.CENTER);
setSize(d.width, d.height-30);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);}
});
}
public static void main(String args[]) {
new jscrol();
}
};
class fondo extends JPanel {
Image imagen;
int ancho, alto;
JScrollPane scroll = new JScrollPane(this);
public fondo(){
imagen = Toolkit.getDefaultToolkit().getImage("annakorn_21_1024.jpg");
try { //Esperamos hasta q la magen sea cargada para poder coger su anchura y altura
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(imagen, 0);
tracker.waitForID(0);
}catch (Exception e) {e.printStackTrace();}
ancho = imagen.getWidth( this ); //recogemos datos de la iamgen
alto = imagen.getHeight( this );
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
public void paint(Graphics g) {
setSize(ancho, alto);
g.drawImage( imagen,0,0,getWidth(),getHeight(),this );}
};
e cambiado el codigo:
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
public class jscrol extends JFrame {
private static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public jscrol (){
super("Imagen");
fondo f = new fondo();
JScrollPane scroll = new JScrollPane(f);
getContentPane().add(scroll, BorderLayout.CENTER);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
setSize(d.width, d.height-30);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);}
});
}
public static void main(String args[]) {
new jscrol();
}
};
class fondo extends JPanel {
Image imagen;
int ancho, alto;
public fondo(){
imagen = Toolkit.getDefaultToolkit().getImage("annakorn_21_1024.jpg");
try { //Esperamos hasta q la magen sea cargada para poder coger su anchura y altura
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(imagen, 0);
tracker.waitForID(0);
}catch (Exception e) {e.printStackTrace();}
ancho = imagen.getWidth( this ); //recogemos datos de la iamgen
alto = imagen.getHeight( this );
//scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
public void paint(Graphics g) {
setSize(ancho, alto);
g.drawImage( imagen,0,0,getWidth(),getHeight(),this );}
};
Ahora aparecen los scroll pero no hacen nada!!
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
public class jscrol extends JFrame {
private static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public jscrol (){
super("Imagen");
fondo f = new fondo();
JScrollPane scroll = new JScrollPane(f);
getContentPane().add(scroll, BorderLayout.CENTER);
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
setSize(d.width, d.height-30);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);}
});
}
public static void main(String args[]) {
new jscrol();
}
};
class fondo extends JPanel {
Image imagen;
int ancho, alto;
public fondo(){
imagen = Toolkit.getDefaultToolkit().getImage("annakorn_21_1024.jpg");
try { //Esperamos hasta q la magen sea cargada para poder coger su anchura y altura
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(imagen, 0);
tracker.waitForID(0);
}catch (Exception e) {e.printStackTrace();}
ancho = imagen.getWidth( this ); //recogemos datos de la iamgen
alto = imagen.getHeight( this );
//scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
}
public void paint(Graphics g) {
setSize(ancho, alto);
g.drawImage( imagen,0,0,getWidth(),getHeight(),this );}
};
Ahora aparecen los scroll pero no hacen nada!!