Java ArrayList指向不同的类
我是Java新手,我正在尝试将ArrayList的值发送到另一个类,在该类中,我将在文本字段中显示该值。到目前为止我有Java ArrayList指向不同的类,java,arraylist,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 )
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);
}
}
公共A类{
公共静态void main(字符串[]args){
字符串[]颜色={“红色”,“蓝色”};
列表=新的ArrayList();
用于(字符串x:笑话)
增加(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());
}
}
}
公共类B扩展JFrame{
A=新的A();
私人按钮,但;
私有JTextField-txt;
公共图书馆B(){
…GUI声明(布局等)
但是=新的JButton(“按钮”);
txt=新的JTextField(30);
添加(但);
添加(txt);
ColorHandler颜色=新颜色
color.addActionListener(但是);
}
私有类ColorHandler实现ActionListener{
已执行的公共无效操作(操作事件){
对于(inti=0;i创建一个以列表为参数的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);
}
您要做的是通过添加以下行来更改末尾的main方法:
new B(list);
并将B的构造函数更改为:
public B(ArrayList<String> list)
你的问题是什么?你从来没有实例化过你的gui。我认为你不应该把main放在A
中。如果你想B
使用list
你需要通过方法或构造函数将list
传递给它(或者它需要一个对a
的引用,然后它可以调用属于a
的方法来获取列表。我尝试使用一个方法来传递它,但我有错误。你不应该在a
中使用一个主方法发布一个有效的示例来演示你的问题,在中了解更多信息
public B(ArrayList<String> list)
A a = new A();