繁体   English   中英

为什么我的图像不显示? (JAVA GUI)

[英]Why doesn't my image display? (JAVA GUI)

我有一个奇怪的问题。 今天,我在Linux上编写了程序,并对图像键入了一个地址,一切都很好。 不知何故,当我在家里的Windows上尝试时,图像将不会显示!(当然,我更新了地址)应如何在图片中写入地址? 我应该在程序包中的哪个位置放置它? 我保留了第二个地址不变,所以您可以理解。

如您所见,还有另一个问题。 我需要显示两个图像,但只能看到一个。 我应该使用哪种布局以便相邻显示2张图像?

抱歉,如果我的问题很愚蠢,我仍然是初学者:)

public class View extends JFrame {
    JPanel jp = new JPanel();
    JLabel jl = new JLabel();
    JPanel jg = new JPanel();
    JLabel jz = new JLabel();

    public View() {
        this.setTitle("Media");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentAll =  new JPanel();
        contentAll.setLayout(new BorderLayout());

        //(...)  a pair of buttons here, not relevant I guess

        jl.setIcon(new ImageIcon("/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpeg")); ///Windows
        jp.add(jl);
        add(jp);

        jz.setIcon(new ImageIcon("/home/d/Downloads/chanel.jpg")); /// Linux
        jg.add(jz);
        add(jz);
        jg.setLayout(new FlowLayout());

        this.pack();
    }
}

Windows中的Chrysanthemum.jpg 使用jpg而不是jpeg

在Windows中将C:附加到绝对路径。

new ImageIcon("C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg");

- 编辑 -

如果是Windows,请使用绝对路径。

String userHome = System.getProperty("user.home"); // C:/Users/USERNAME
String userPath = userHome.substring(0, userHome.lastIndexOf("\\")); // C:/Users
String fullPath = userPath + "/Public/Pictures/Sample Pictures/Chrysanthemum.jpg";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM