我想在JFrame中添加一个Image,add( )
方法生成一个错误,上面写着“找不到符号:方法添加(JLabel)”...我该如何解决?
**我还没有从main方法调用ImageLoading( )
方法。
import javax.swing.*;
public class NetworkingGame {
NetworkingGame(){
JFrame jfrm = new JFrame("Angry Painters");
jfrm.setSize(800, 480);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfrm.setVisible(true);
}
public void ImageLoading(){
ImageIcon i = new ImageIcon("angry-painters.jpg");
JLabel jl = new JLabel(i);
add(jl); //The error is in this line
}
public static void main(String[] args) throws Exception{
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
new NetworkingGame();
}
});
}
}
答案 0 :(得分:4)
JFrame jfrm
的可见性受NetworkingGame
的构造函数限制。因此add
中不存在NetworkingGame
方法。成为JFrame
的{{1}}成员。
NetworkingGame
答案 1 :(得分:3)
可能你应该写
jfrm.add(jl);
并jfrm
作为会员。
在你的情况下,你真的打电话给那个不存在的this.add()
。
答案 2 :(得分:2)
您正在调用add
方法,就好像它是类NetworkingGame
中的实例方法一样,并且您的类没有任何方法,因此编译器可能会遇到编译错误'在类NetworkingGame
中找到此类名称的任何方法,因此请将其添加到Jframe中。
NetworkingGame(){
JFrame jfrm = new JFrame("Angry Painters");
jfrm.setSize(800, 480);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfrm.setVisible(true);
ImageIcon i = new ImageIcon("angry-painters.jpg");
JLabel jl = new JLabel(i);
jfrm.add(jl);
}