我是Java的新手,我正在尝试将ArrayList的值发送到另一个类,我将在其中显示文本字段中的值。到目前为止我已经
了public class A {
public static void main(String[] args) {
String[] color= {"red", "blue"};
List<String> list = new ArrayList<String>();
for ( String x : joke )
list.add(x);
}
}
我有第二堂课
public class B extends JFrame{
A a = new A();
private JButton but;
private JTextField txt;
public B(){
...GUI declarations(layout, etc)
but = new JButton("Button);
txt = new JTextField(30);
add(but);
add(txt);
ColorHandler color = new Color
color.addActionListener(but);
}
private class ColorHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
for(int i=0;i<list.size();i++){
txt.append(list.get(i).toString());
}
}
}
我希望你理解我的代码。
答案 0 :(得分:1)
您要做的是通过添加以下行来更改您的主要方法:
new B(list);
并将B的构造函数更改为:
public B(ArrayList<String> list)
然后,您将B列表中的值作为名为“list”的变量。
此外,你应该从B踢出以下行,因为包含main方法的Class是你的起点,反之亦然。
A a = new A();
答案 1 :(得分:0)
使用列表作为参数创建B类。
public class A {
public static void main(String[] args) {
String[] color= {"red", "blue"};
List<String> list = new ArrayList<String>();
for ( String x : joke )
list.add(x);
}
B class = new B(list);
}
B类中带有list参数的构造函数
public B(List list){
...GUI declarations(layout, etc)
but = new JButton("Button);
txt = new JTextField(30);
add(but);
add(txt);
ColorHandler color = new Color
color.addActionListener(but);
ArrayList array = list;
}