永发信息网

我现在在用Java swing做一个图片管理系统。请问怎样才能根据本机图片的绝对路径把图片显示在jpanel中?

答案:2  悬赏:30  手机版
解决时间 2021-04-03 11:31
  • 提问者网友:蔚蓝的太阳
  • 2021-04-03 00:37
我现在在用Java swing做一个图片管理系统。请问怎样才能根据本机图片的绝对路径把图片显示在jpanel中?
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-04-03 01:24
你可以尝试下面两种方法:
获取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
        }
}
全部回答
  • 1楼网友:行路难
  • 2021-04-03 02:45
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯