java 点击按钮在窗口中加载图片

publicclassChangeGreyextendsFrame{Imageim,tmp;intiw,ih;int[]pixels;booleanflag=false;... public class ChangeGrey extends Frame {
Image im,tmp;
int iw,ih;
int[] pixels;
boolean flag=false;

//构造方法
public ChangeGrey(){

setBounds(400, 400, 400, 400);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setVisible(true);
Panel pdown;
Button load,run,quit;
//添加窗口监听事件
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
new ChangeGrey().setVisible(false);
//System.exit(0);
}
});

pdown = new Panel();
pdown.setBackground(Color.lightGray);
load=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) {
// TODO Auto-generated method stub

}

public void jLoad_ActionPerformed(ActionEvent e){
//利用MediaTracker跟踪图像的加载
MediaTracker tracker = new MediaTracker(this);
im=Toolkit.getDefaultToolkit().getImage("picture\\cat.jpg");
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) {
ChangeGrey cg = new ChangeGrey();
cg.setLocation(50,50);
cg.setSize(500,400);
cg.show();
}
}
这种是固定路径的,我要做的是那种点击按钮然后出现文件夹浏览,找到图片的那种,急求
这个应该怎么改才能讲变为可以选择文件夹下面的图片?
展开
 我来答
miniapp1fbdq6yjd2onp
2014-05-06 · 超过17用户采纳过TA的回答
知道答主
回答量:36
采纳率:100%
帮助的人:14.2万
展开全部
//点击“装在图像” 按钮之后,执行以下语句

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为用户选择的图片文件

//然后你自己把file用户选择的图片文件替换成你现在的那个文件

//需要引用 import javax.swing.JFileChooser和//import.javax.swing.filechooser.FileNameExtensionFilter两个包
追问

我照着你说的做了,也能出现浏览文件夹的窗口,但选择了图片后就加载不出来,不知哪里错了

请说的详细些好吗,我是小白

追答
im = Toolkit.getDefaultToolkit().getImage(“file”);
改为:
im = Toolkit.getDefaultToolkit().getImage(file.getPath()); //file.getPath() ;获取文件路径

//注:不要加" "双引号
sky丶孤星
2019-03-21
知道答主
回答量:7
采纳率:0%
帮助的人:5224
展开全部
大佬求代码,你的监控加在那个组建上显示的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jl2947536180
2014-05-06
知道答主
回答量:21
采纳率:0%
帮助的人:10.3万
展开全部
试试组件 JFileChooser行不行啊
追问
怎么试?求解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式