日期:2014-05-20  浏览次数:20685 次

请问Jpanel getComponents()方法为什么取不到jtextArea
各位大哥大姐:

我的一个jpanel中包含了jtextField,jtextArea,jlabel等组件,我调用jpanel.getComponents()方法返回的数组中没有包含jtextArea,只包含jtextField,jtextArea及JScrollPane,我的jtextArea是放置在JScrollPane中,请问我需要用什么办法去取得这个jtextArea,我调用jscrollpane.getComponents()方法返回的却是一个JScrollPane$ScrollBar,还是没有jtextArea,小弟在此真诚的请教,万分感谢,请各位指教一下.

------解决方案--------------------
如果在 JScrollPane 里的话可以通过 jscrollpane.getViewport().getView() 获得

但是,为什么要用这种 getComponents 一类的方法来获得这个引用?

你想引用到这个 jpanel 中的这个 jtextArea

你直接把这个 jtextArea 定义为一个成员变量,写个 get 方法不就 OK 了?
------解决方案--------------------
同意LS 定义成一个成员变量比较好 用起来也方便