由于一些神秘的原因,panel.add()
红色。 panel
正在上面初始化!
public class ShowImage {
ImageIcon image = new ImageIcon("D:/java.jpg");
JLabel label = new JLabel("sdasd", image, JLabel.CENTER);
JPanel panel = new JPanel(new BorderLayout());
panel.add(label, BorderLayout.CENTER);
}
答案 0 :(得分:7)
您不能直接在课堂中调用方法。我相信你想在构造函数中调用它。
public class ShowImage {
ImageIcon image = new ImageIcon("D:/java.jpg");
JLabel label = new JLabel("sdasd", image, JLabel.CENTER);
JPanel panel = new JPanel(new BorderLayout());
public ShowImage (){
panel.add(label, BorderLayout.CENTER);
}
}
答案 1 :(得分:4)
您需要将所有这些代码(或至少panel.add
语句)放在方法中。你不能只让那段代码在课堂上随处可见。在Java中不允许在类中的任何地方调用方法。
你可以把它放在构造函数或一些init方法中。
public class ShowImage {
ImageIcon image = new ImageIcon("D:/java.jpg");
JLabel label = new JLabel("sdasd", image, JLabel.CENTER);
JPanel panel = new JPanel(new BorderLayout());
public void someInitMethod() { // or even the constructor
panel.add(label, BorderLayout.CENTER);
}
}