BorderLayout.EAST 与“East"之间的关系
大家好,参考了一篇学习教程,部分程序如下:
public class BoaderDemo {
public static void main(String args[]){
JLabel label1,label2,label3,label4,label5;
JFrame mw=new JFrame("My first window");
mw.setSize(250,200);
Container con=mw.getContentPane();
con.setLayout(new BorderLayout());
label1=new JLabel("east label");
label2=new JLabel("south label");
label3=new JLabel("west label");
label4=new JLabel("north label",JLabel.CENTER);
label5=new JLabel("middle",JLabel.CENTER);
con.add(label1,"East");
con.add(label2,"South");
con.add(label3,"West");
con.add(label4,"North");
con.add(label5,"Center");
mw.setVisible(true);
}
}
可以编译并运行,但是我把红字标出来的”East"改为“EAST",编译出错,改为小写也出错,
改为BorderLayout.EAST,编译正常。
查看API,BorderLayout.EAST的EAST是 public static final所定义的,静态常量,这是最正确的写法
但是找不出为什么用”East"也能编译通过的依据。