import javax.swing.*;class java
{ public static void main(String args[])
{
JButton b1=new JButton("aaa");
JButton b2=new JButton("bbb");
JPanel jp=new JPanel();
JFrame jf=new JFrame();
jf.getContentPane().add(jp);
b2.setVisible(false);
jp.add(b1);
jp.add(b2);
jf.pack();
jf.show();
b1=b2;
jp.validate();
}
}为什么还能显示按钮?b1=b2的时候b1的setVisibel不是false了吗? 用revalidate也不行啊,高手帮忙!!
{ public static void main(String args[])
{
JButton b1=new JButton("aaa");
JButton b2=new JButton("bbb");
JPanel jp=new JPanel();
JFrame jf=new JFrame();
jf.getContentPane().add(jp);
b2.setVisible(false);
jp.add(b1);
jp.add(b2);
jf.pack();
jf.show();
b1=b2;
jp.validate();
}
}为什么还能显示按钮?b1=b2的时候b1的setVisibel不是false了吗? 用revalidate也不行啊,高手帮忙!!
Java里除了基本数据类型(int,char之类的)的声明就是定义,其它所有声明的其实全是指针。
int a; // a本身就是int
int b = 3;
a = b; // 通过传值拷贝将b的值3赋给aString c; // c是String型指针
String d = new String(); // d指向一个String对象
c = d; // 通过传值拷贝将d的值(也就是一个对象的地址)赋给c
而且b1=b2以后 b1的属性等于b2的属性了,也许b1的属性都指向b2了吧,关键是怎么让b1重画??
b1原来指向的对象就丢掉了!!!
如果你还不明白我在说什么,还是先好好看看Java基础吧。