Java 为什么这里没有显示图像?
我想通过JLabel在JFrame上显示一个图像,但唯一显示的是JFrame。请用noob说:) 代码如下: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());
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
构造函数从未被调用