当前位置: 首页 > 知识库问答 >
问题:

为什么这个ImageIcon没有出现?

佟英武
2023-03-14

我尝试了一切,但图像不会显示出来,我试图使图像变小但没有用,我试图改变路径,我试图改变图像的位置但没有帮助,我试图在互联网上搜索但一无所获。

我看到的只是空白的图形用户界面,没有文本和图像。如果你能帮我,你会帮我一个大忙。

代码如下:

package main;

import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;

public class Main {
    public static void main(String[] args) {
        // Creating a new frame
        GFrame frame = new GFrame("JFrame",true);
        frame.lock(true);

        // Setting the size of the frame
        frame.setSize(500, 500);

        // Creating images
        ImageIcon icon = new ImageIcon("src/main/img.png");
        frame.setIconImage(icon.getImage());

        // Creating labels
        JLabel title = new JLabel("A java GUI!",icon,0);
        title.setVerticalAlignment(1);
        title.setFont(new Font(Font.SANS_SERIF,Font.PLAIN,30));

        // Adding the labels
        frame.add(title);

        // Stopping the program if the frame gets closed
        frame.onCloseExit(true);
    }

    public static Image getScaledImage(Image srcImg, int w, int h){
        BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
        Graphics2D g2 = resizedImg.createGraphics();

        g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g2.drawImage(srcImg, 0, 0, w, h, null);
        g2.dispose();

        return resizedImg;
    }
}

共有1个答案

百里疏珂
2023-03-14

我把setViable(true)放在代码的底部,现在它起作用了,我有点傻,因为我后来想起了它。谢谢你让我记住了。

 类似资料:
  • Code Demo 为什么这个React Demo的列表没有展示出来? this.setState 是一个异步操作? 所以导致log时 没有输出更新后的值? 那为什么页面没有重新渲染 ?

  • 我是否遗漏了包装类中的某些细节? 我有以下程序,在其中我定义了一个类,它包装并提供运算符: 我以为这会编译成同样的东西--它在做同样的计算,所有的东西都是内联的。 编辑-如果我使用而不是,它将产生相同的输出。 编辑-我发布了错误的ASM版本(而不是),因此本节没有帮助。 我在我的Mac电脑上使用Xcode的gcc,在一个64位系统上。除了for-loop的主体之外,结果是相同的。

  • 我完全是以编程的方式在iOS中工作,也完全是使用IB,但我第一次尝试将两者混合使用,我感到困惑。我正在写一个标签应用程序。在我的应用程序委托中,我曾经有以下代码: 那很好。 然后,我通过IB中的故事板创建了一个视图控制器,并向其添加了一堆用户界面元素,给出了以下设置: 现在我的代码是: 应用程序可以正常启动,但当我按tab键进入设置屏幕时,会收到以下消息: 这意味着什么?我如何修复它? 编辑:这里

  • 因此,作为学校的一部分,我正在使用For循环,我有一些代码可以工作,但我很难理解为什么它可以工作。对我来说,重要的是要真正理解为什么一块代码能做它不能做的事情,而不仅仅是它能工作。 所以有一点背景。这个小程序利用for循环,根据用户输入打印一系列字符。其思想是用户输入一个介于1和8之间的数字,程序将打印一个字符,然后移动到下一行再打印两个,移动到下一行再打印三个等等,并打印用户输入的行数。 程序在

  • 它将把牌阵的一半分配给玩家和计算机(玩家得到前半部分,计算机得到后半部分)。现在这是先洗牌,所以是的,这似乎是公平的。 我得到的出界错误是这一行:

  • 我有一个类audio sender,它连接到nodejs服务器,并以POST方法模式上传音频文件。 这是执行AudioSender Callable的上载。 我很清楚这不是node JS的错误,但这里是服务器代码:app.post(“/upload”,function(req,res){console.log(“someone called!”);req.on(“data”,function(ch