Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这里没有显示图像?_Java_Jframe_Jlabel_Imageicon - Fatal编程技术网

Java 为什么这里没有显示图像?

Java 为什么这里没有显示图像?,java,jframe,jlabel,imageicon,Java,Jframe,Jlabel,Imageicon,我想通过JLabel在JFrame上显示一个图像,但唯一显示的是JFrame。请用noob说:) 代码如下: import javax.swing.*; import java.awt.*; public class Swing extends JFrame{ public JLabel label; public ImageIcon image; public Swing() { setLayout(new FlowLayout());

我想通过JLabel在JFrame上显示一个图像,但唯一显示的是JFrame。请用noob说:) 代码如下:

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

public class Swing extends JFrame{
    public JLabel label;
    public ImageIcon image;

    public Swing() {
        setLayout(new FlowLayout());
        image = new ImageIcon ("image.png");
        label = new JLabel (image);
        add(label);
    }
    public static void main (String [] args) {
        System.out.println("some text.");
        JFrame frame = new JFrame();

        frame.setVisible(true);
        frame.setSize(2300, 1717);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocation(300, 100);
        frame.setTitle("title");

        frame.requestFocus();
        frame.addKeyListener(new KeyHandler());     
    }


 }

该图像未显示,因为您没有告诉程序显示它

在java中,main函数包含计算机将运行和编译的内容

我会用和你一样的方式定义这个图像,但是我会把它定义为main,重要的是告诉你的程序显示它

试试这个:

JFrame frame = new JFrame();
ImageIcon icon = new ImageIcon("image.jpg");
JLabel label = new JLabel(icon);
frame.add(label);
frame.setDefaultCloseOperation
     (JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}


希望能有所帮助,

可能不需要这个

   JFrame frame = new JFrame();
你想要这个

   JFrame frame = new Swing();

您的
Swing
构造函数从未被调用