1.你的frame设置了布局没有,你可以把panela放在frame的上面,而panelb放在frame的下面。而且用JFrame时add一个控件有时必需是:this.getContentPane().add(XXXX)。2.java是传值的形式传递参数.如果想实现你这样的功能方法有:
 a.只能把str定义成类成员,然后在change中改变。
 b.要不就改成String change(String str)返回一个改变的str值。