主题:滚动图像窗口没有图像和滚动条,请大家帮忙诊断
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
public JScrollPane JSP ;
public Image im;
public imagecanvas imcan ;
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("测试窗口");
setResizable(false);
String f = "bld.JPEG";
String d = "D:/java/study/scrollerimage/test/src/test/";
Toolkit tk=Toolkit.getDefaultToolkit();
MediaTracker trac=new MediaTracker(this);
im=tk.getImage(d+f);
if(im==null)
{
JOptionPane in = new JOptionPane("image is null");
in.setVisible(true) ;
}
trac.addImage(im,0);
try
{
trac.waitForAll();
}
catch(InterruptedException e)
{e.printStackTrace();}
imcan=new imagecanvas(im);
JSP = new JScrollPane(imcan,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
contentPane.add(JSP,borderLayout1.CENTER);
validate();
setVisible(true);
}
public static void main(String args[])
{
Frame1 dip=new Frame1();
dip.setLocation(150,150);
dip.setVisible(true);
}//end of main()
}
class imagecanvas extends Canvas{
public Image image;
public imagecanvas(Image i)
{
image = i;
}
public void paint(Graphics g)
{
g.drawImage(image,0,31,this) ;
}
public void update(Graphics g)
{
paint(g);
}
}
import java.awt.Dimension;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
public JScrollPane JSP ;
public Image im;
public imagecanvas imcan ;
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("测试窗口");
setResizable(false);
String f = "bld.JPEG";
String d = "D:/java/study/scrollerimage/test/src/test/";
Toolkit tk=Toolkit.getDefaultToolkit();
MediaTracker trac=new MediaTracker(this);
im=tk.getImage(d+f);
if(im==null)
{
JOptionPane in = new JOptionPane("image is null");
in.setVisible(true) ;
}
trac.addImage(im,0);
try
{
trac.waitForAll();
}
catch(InterruptedException e)
{e.printStackTrace();}
imcan=new imagecanvas(im);
JSP = new JScrollPane(imcan,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
contentPane.add(JSP,borderLayout1.CENTER);
validate();
setVisible(true);
}
public static void main(String args[])
{
Frame1 dip=new Frame1();
dip.setLocation(150,150);
dip.setVisible(true);
}//end of main()
}
class imagecanvas extends Canvas{
public Image image;
public imagecanvas(Image i)
{
image = i;
}
public void paint(Graphics g)
{
g.drawImage(image,0,31,this) ;
}
public void update(Graphics g)
{
paint(g);
}
}