ArrayList到不同的类

时间:2014-01-15 14:49:09

标签: java arraylist

我是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());
       }
     }
  }

我希望你理解我的代码。

2 个答案:

答案 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;
}