我现在在用Java swing做一个图片管理系统。请问怎样才能根据本机图片的绝对路径把图片显示在jpanel中? 30
小弟现在在用Javaswing做一个图片管理系统。请问我怎样才能根据本机图片的绝对路径(比如,把绝对路径以String类型赋给变量path)把图片显示在jpanel中?希...
小弟现在在用Java swing 做一个图片管理系统。请问我怎样才能根据本机图片的绝对路径(比如,把绝对路径以String类型赋给变量path)把图片显示在jpanel中?希望大神给与解答,非常感谢!图片不是放在工程下的图标,可以是本机中任意路径的图片,通过filechooser选择。
展开
展开全部
你可以尝试下面两种方法:
获取JPanel的画布,用drawImage方法把图片画在JPanel上
新建个JLabel,用setIcon方法设置JLabel的图片,再添加进JPanel
filechooser可以参考一下这段代码
private void openImage()
{
JFileChooser jfc=new JFileChooser(".");
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
FileNameExtensionFilter filter1 = new FileNameExtensionFilter("*.png", "png");
FileNameExtensionFilter filter2 = new FileNameExtensionFilter("*.jpg", "jpg");
FileNameExtensionFilter filter3 = new FileNameExtensionFilter("*.jpeg", "jpeg");
jfc.addChoosableFileFilter(filter1);
jfc.addChoosableFileFilter(filter2);
jfc.addChoosableFileFilter(filter3);
jfc.setAcceptAllFileFilterUsed(false);
jfc.setFileFilter(filter1);
int returnVal = jfc.showOpenDialog(MainFrame.this);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
File file = jfc.getSelectedFile();
try {
image = ImageIO.read(file); //image 是BufferedImage
} catch (IOException e1) {
e1.printStackTrace();
}
jl.setIcon(new ImageIcon(image.getScaledInstance(jl.getWidth(), jl.getHeight(), Image.SCALE_DEFAULT))); //JLabel jl
}
}
2015-02-01
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询