JTextArea text = new JTextArea();
text = questionArea;
scrolltext.getViewport().add(text);
text.setText("1、问题:1+1=3对吗?\nA. 对 \nB. 不对");
为什么在第二行questionArea = text也可以呢?注:用 text = questionArea; 时,需要对questionArea new一个JTextArea,而使用questionArea = text时不需要对questionArea new一个对象。望大神解答,非常感谢!
用 text = questionArea; 时,需要对questionArea new一个JTextArea,
注:因为赋值给text后,后面有text.setText,如果questionArea不new一个实例(也就是JTextArea),后面就报空指针了
而使用questionArea = text时不需要对questionArea new一个对象
注:这是把text赋值给questionArea,是赋值,和questionArea 是否实例化没有关系。
楼上正解。
text = questionArea;
你不对questionArea new一个JTextArea,你试试就知道了,后面的赋值代码无法运行了。
等号的意思是,将后面的变量的值赋值给前面的变量,text = questionArea; 时,需要new,不然变量内存地址不存在,报空指针,而使用questionArea = text时不需要new,是把text赋值给questionArea,是将text在内存中的地址指定给questionArea,地址存在,无异常
为什么用text = questionArea和questionArea = text 得到的结果都是questionArea 对象内的内容啊?后面用的是scrolltext.getViewport().add(text);这里是text啊?我不能理解