62,616
社区成员
发帖
与我相关
我的任务
分享
public class Test extends JFrame{
MyPanel mp=null;
public Test(){
mp=new MyPanel();
this.add(mp);
this.setSize(550, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args){
new Test();
}
}
class MyPanel extends JPanel{
Image image=null;
public void paint(Graphics g){
try {
image=ImageIO.read(new File("H:\\aa.jpg"));
g.drawImage(image, 0, 0, 550, 400, null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class MyJPanel extends JPanel {
@Override
//这个方法是用来画Panel组件的
protected void paintComponent(Graphics g) {
try {
File fl = new File("C:\\work\\java2dImage\\out\\production\\java2dImage\\Winter.jpg");
System.out.println(fl.length());
BufferedImage img=ImageIO.read(fl);
//BufferedImage img = ImageIO.read(new File(this.getClass().getResource("Winter.jpg").getPath()));
g.drawImage(img, 0, 0, 500, 400, null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行到了BufferedImage img=ImageIO.read(fl)这一句就报错
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space