在Java Jframe上的图像渲染

时间:2015-07-23 07:58:07

标签: java swing jframe picturebox

我已经从C#转移到java并且无法在java Jframe上渲染图像。是否有任何ImageBox组件或JFrame方法渲染图像像这样:

JPictureBox box=new JPictureBox("image_path");
JFrame fram=new JFrame();
fram.add(box); 

1 个答案:

答案 0 :(得分:1)

此代码创建JFrame并在该框架中显示路径为f的文件。它使用JLabel作为评论者之一建议。

    public static void display(String f) throws Exception {
        JFrame jf = new JFrame();
        JLabel jl = new JLabel(new ImageIcon(ImageIO.read(new File(f))));
        jf.add(jl);
        jf.setBounds(0, 0, 200, 200);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

请注意,您可能希望更好地处理异常,从图像中设置大小(您可以询问ImageIO.read().getWidth()的{​​{1}}的结果),依此类推。

这是一个稍微复杂的例子,其中图像改变大小以填充其边界:

.getHeight()

注意:在阅读评论中的链接后,我必须推荐 MadProgrammer 关于该主题的详尽帖子。此答案的唯一优点是篇幅较短 - 但如果您想要much better down-scalingratio-preserving scaling或其他与图像相关的深度图片,请按照这些链接进行操作。