Java 正在尝试将图像添加到我的帧中
所以我想我的第二行最后一行会将图像添加到帧中,但它没有。试图找出如何使用最后一行,看看这是否有效。我可以用c#制作GUI,没问题,但这更取决于visual studio。与Java打交道时,我安装了window builder以简化我的生活,但我想添加一些图像以在屏幕上形成网格,而且它似乎不支持图像,所以我尝试手动执行这些操作。我通过此操作获得了它Java 正在尝试将图像添加到我的帧中,java,swing,jframe,jlabel,Java,Swing,Jframe,Jlabel,所以我想我的第二行最后一行会将图像添加到帧中,但它没有。试图找出如何使用最后一行,看看这是否有效。我可以用c#制作GUI,没问题,但这更取决于visual studio。与Java打交道时,我安装了window builder以简化我的生活,但我想添加一些图像以在屏幕上形成网格,而且它似乎不支持图像,所以我尝试手动执行这些操作。我通过此操作获得了它 private void initialize() { frame = new JFrame(); frame.setBounds(
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 1071, 686);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new GridLayout(1, 0, 0, 0));
frame.add(new JLabel(new ImageIcon("ship.png")));
frame.getContentPane().add(new JLabel(new ImageIcon("ship.png")), ******);
}
实际上,我安装netbeans只是为了让它为我生成这个,因为谷歌搜索让我找到了许多非常不同的解决方案你的问题可能是你没有在你认为你在寻找的图像的地方寻找它。您知道您的图像相对于用户目录的位置吗?找出打印输出:
System.out.println(System.getProperty(“user.dir”)如果我将完整目录添加到项目中,我通常不需要添加完整目录。不过我会试试的!它似乎指向/Users/alihassan/Dropbox/Uni/workspace/SD3课程作业,就在我放置图像的地方。不,我不是说要这样做,只是为了找出你的文件相对于user.dir的位置。更好的是,不要将图像作为文件,而是作为资源。我看到的唯一主要区别是图像文件名不同。原来是“ship.png”,现在是“ship1.png”
JLabel jLabel1 = new javax.swing.JLabel();
jLabel1.setIcon(new javax.swing.ImageIcon(("ship1.png"))); // NOI18N
frame.getContentPane().add(jLabel1);