java使用JTextarea和JTabbedPanel
使用以下代码动态创建JTextarea并将其添加到JTabed面板:
// tabidis is a variable with unique value in each case
JScrollPane panel2 = new JScrollPane();
panel2.setName(tabidis);
ta = new JTextArea("");
ta.setColumns(30);
ta.setRows(20);
ta.setEditable(false);
panel2.setViewportView(ta);
ta.setName(tabidis);
jTabbedPane1.add(username4, panel2);
添加新选项卡时(ta textarea随附),最后一个选项卡textarea接收所有文本
private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt){
send3 = ta.getName();
ta.setName(send3);
ta.setText(ta.getText()+send3);
}
在上面的代码中,您可以看到两个文本区域(两个选项卡)中的文本都应该更新。但真正发生的是,只有第二个文本区域得到更新。第一个文本区域未更新
# 1 楼答案
ta
一次只能有一个值,您需要的是Collection
{Collection
。您必须有对它们的引用,例如在List<JTextArea> textAreas
然后在代码中
在你的事件中,类似这样的事情: