gpt4 book ai didi

java - 如何将值(数组或数组列表)从一个 Pane 传递到另一个 Pane ?

转载 作者:行者123 更新时间:2023-11-29 06:20:03 26 4
gpt4 key购买 nike

这是我的主类代码:

public static void main(String[] args) {

JFrame f= new JFrame ("My Frame");
f.setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE);

JTabbedPane tp = new JTabbedPane();
tp.addTab("Pane1", new PaneFirst());
tp.addTab("Pane2", new PaneSecond());

f.add(tp);
f.pack();
f.setVisible(true);
}

在 PaneFirst 中,我有一个用户输入值(文本字段)列表,假设我有 5 个。我将每个值存储到一个数组(或者可能是数组列表)中。如何将这 5 个值从 PaneFirst 传递到 PaneSecond?

(抱歉,我是 Java 和面向对象编程语言的新手)

最佳答案

您真的不应该将值存储在 Pane 对象(“ View ”)上,而是创建一个单独的类来保存这些值(“模型”)。

然后您可以将对模型的引用传递给两个 Pane ,如果一个 Pane 更改了模型类的值,另一个 Pane 也会看到更改。下面这个简单的例子就是用代码来展示这个想法。您的模型看起来会有所不同,但它应该提供有关如何实现、创建和使用它的想法。

public class Model {
private List<String> values = new ArrayList<String>();
public void add(String s) {
values.add(s);
}
public void remove(String s) {
values.remove(s);
}
public void get(i) {
values.get(i);
}
// ...

}

public static void main(String[] args) {

JFrame f= new JFrame ("My Frame");
f.setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE);

JTabbedPane tp = new JTabbedPane();
Model model = new Model();
tp.addTab("Pane1", new PaneFirst(model));
tp.addTab("Pane2", new PaneSecond(model));

f.add(tp);
f.pack();
f.setVisible(true);
}

关于java - 如何将值(数组或数组列表)从一个 Pane 传递到另一个 Pane ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510688/

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