0

由于某种神秘的原因,它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);  
}
4

2 回答 2

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);
    }
}
于 2013-10-02T09:55:17.820 回答
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);
    }
}
于 2013-10-02T09:54:53.860 回答