Java 代码为';不工作,试图让图像显示出来
我真的不明白为什么我的代码不能显示这张牛的图片,有什么建议吗?根据我的信息,我做的每件事都是正确的。所以我不太确定出了什么问题。我使用eclipse,程序没有显示错误。因此,如果有人能帮忙,我将不胜感激。提前谢谢Java 代码为';不工作,试图让图像显示出来,java,image,swing,embedded-resource,Java,Image,Swing,Embedded Resource,我真的不明白为什么我的代码不能显示这张牛的图片,有什么建议吗?根据我的信息,我做的每件事都是正确的。所以我不太确定出了什么问题。我使用eclipse,程序没有显示错误。因此,如果有人能帮忙,我将不胜感激。提前谢谢 package Zeus; import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.ImageIcon; import javax.swing.JLabel; public cla
package Zeus;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class Main extends JFrame{
public static final int WIDTH = 400;
public static final int HEIGHT = 300;
public static final int SCALE = 2;
private ImageIcon COW;
private static JLabel C0W;
Main() {
setLayout(new FlowLayout());
COW = new ImageIcon(getClass().getResource("/Cow Clicker/Resource/COW.png"));
C0W = new JLabel(COW);
}
public static void main(String[] args) {
JFrame Squishy = new JFrame("Squishy");
Squishy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Squishy.setResizable(false);
Squishy.setVisible(true);
Squishy.setSize(WIDTH*SCALE, HEIGHT*SCALE);
Squishy.setLocationRelativeTo(null);
Squishy.add(C0W);
}
}
您需要创建
Main
的实例,以便可以从其构造函数加载映像。我不知道从何处开始
1)按照惯例,java中的变量以小写字母开头,后跟驼峰样式。
因此,变量COW
应更改为COW
,依此类推
2)我从不使用变量名,如C0W
3)您正在毫无理由地扩展JFrame
,因此请将代码更改为此
public class Main{
public static final int WIDTH = 400;
public static final int HEIGHT = 300;
public static final int SCALE = 2;
private JFrame frame;
private ImageIcon cow;
private JLabel labelCow; // remove static
public Main() {
frame = new JFrame();
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(WIDTH*SCALE, HEIGHT*SCALE);
frame.setLocationRelativeTo(null);
cow = new ImageIcon(getClass().getResource("Cow Clicker/Resource/COW.png"));
labelCow = new JLabel(cow);
frame.add(cow);
//pack(); you are using setSize
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
new Main();
}
});
}
}
1+. 这是疯狂的代码。当然,威尔会找到一些替代代码,nachokk,nvm已经完成了…从哪里开始很困难,但你得到了重点:D+1