java图片加载不上_java代码实现不了图片的加载,图片显示不出来,没有提示错误...

mportjava.awt.BorderLayout;importjava.awt.Button;importjava.awt.Color;importjava.awt.Frame;importjava.awt.Image;importjava.awt.MediaTracker;importjava.awt.Panel;importjav...

mport java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Color;

import java.awt.Frame;

import java.awt.Image;

import java.awt.MediaTracker;

import java.awt.Panel;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.image.PixelGrabber;

import java.io.File;

import javax.imageio.ImageIO;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.filechooser.FileNameExtensionFilter;

public class 测试 extends Frame {

Image im;//,tmp;//图像

int iw,ih;

int[] pixels;

boolean flag=false;

//构造方法

public 测试(){

setBounds(400, 400, 400, 400);

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

setVisible(true);

Panel pdown;//面板

Button load;

//添加窗口监听事件

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

new 测试().setVisible(false);

}

});

pdown = new Panel();//面板

pdown.setBackground(Color.lightGray);

load=new Button("装载图像");

//run=new Button("运行");

//quit=new Button("停止");

this.add(pdown,BorderLayout.SOUTH);

pdown.add(load);

//pdown.add(run);

//pdown.add(quit);

load.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

jLoad_ActionPerformed(e);

}

});

};

private void setDefaultCloseOperation(int exitOnClose) {

}

public void jLoad_ActionPerformed(ActionEvent e){

//利用MediaTracker跟踪图像的加载

JFileChooser chooser = new JFileChooser(); //创建选择文件对象

chooser.setDialogTitle("请选择文件");//设置标题

chooser.setMultiSelectionEnabled(true); //设置只能选择文件

FileNameExtensionFilter filter = new FileNameExtensionFilter("jpg","jpg");//定义可选择文件类型

chooser.setFileFilter(filter); //设置可选择文件类型

chooser.showOpenDialog(null); //打开选择文件对话框,null可设置为你当前的窗口JFrame或Frame

File file = chooser.getSelectedFile(); //file为用户选择的图片文件

MediaTracker tracker = new MediaTracker(this);

//im=Toolkit.getDefaultToolkit().getImage("source\\mid.png");

im=Toolkit.getDefaultToolkit().getImage(file.getPath());

tracker.addImage(im,0);

//等待图像的完全加载

try{

tracker.waitForID(0);

}

catch(InterruptedException e2){

e2.printStackTrace();

}

//获取图像的宽度iw和高度ih

iw=im.getWidth(this);

ih=im.getHeight(this);

pixels=new int[iw*ih];

try{

PixelGrabber pg=new PixelGrabber(im,0,0,iw,ih,pixels,0,iw);

pg.grabPixels();

}

catch (InterruptedException e3) {

e3.printStackTrace();

}

}

//定义main方法,设置窗口的大小,显示窗口

public static void main(String[] args) {

测试 cg = new 测试();

cg.setLocation(50,50);

cg.setSize(500,400);

cg.show();

//cg.setVisible(true);

}

}

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值