gpt4 book ai didi

java - 将 JTextarea 与 JTabbedPanel 结合使用

转载 作者:行者123 更新时间:2023-12-01 14:22:24 25 4
gpt4 key购买 nike

使用以下代码动态创建 JTextarea 并将其添加到 jTabbed 面板:

            // 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);

当添加新选项卡时(文本区域也随之添加),最后一个选项卡文本区域会接收所有文本。

 private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt){
send3 = ta.getName();
ta.setName(send3);
ta.setText(ta.getText()+send3);
}

在上面的代码中,您可以看到两个文本区域(在两个选项卡中)中的文本都应该更新。但真正发生的情况是,只有第二个 TextArea 得到更新。第一个 TextArea 没有更新。

最佳答案

ta一次只有一个值,你需要的是 CollectionTextArea你必须有对它们的引用,例如在 List<JTextArea> textAreas

然后在你的代码中

        JTextArea ta = new JTextArea("");
ta.setColumns(30);
ta.setRows(20);
ta.setEditable(false);
textAreas.add(ta);

在你的事件中,类似这样的事情:

private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt){
for(JTextArea ta : textAreas ){
send3 = ta.getName(); // this line an below are redundant
ta.setName(send3);
ta.setText(ta.getText()+send3);
}
}

关于java - 将 JTextarea 与 JTabbedPanel 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17431755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com