[英]Java Applet - List error
好的,所以我正在将ArrayList放入(原始)列表中,并且在编译时遇到以下错误。
C:\Users\Dan\Documents\DanJavaGen\ArrayList_INV.java:29: cannot find symbol
symbol : constructor List(java.lang.Object[])
location: class java.awt.List
list = new java.awt.List(arr.toArray());
^
C:\Users\Dan\Documents\DanJavaGen\ArrayList_INV.java:50: cannot find symbol
symbol : method getSelectedValue()
location: class java.awt.List
System.out.println("You have selected: " + list.getSelectedValue());
^
2 errors
码:
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.io.*;
import java.util.*;
public class ArrayList_INV extends JApplet implements MouseListener {
public static String newline;
public static java.awt.List list;
int gold = 123;
public void init() {
ArrayList<String> arr = new ArrayList<String>();
arr.add("Hatchet");
arr.add("Sword");
arr.add("Shield");
arr.add(gold + " Gold");
System.out.println("You have " + arr.size() + " items in your inventory.");
showInventory(arr);
list = new java.awt.List(arr.toArray());
add(list);
list.addMouseListener(this);
list.setVisible(true);
}
public static void showInventory (ArrayList<String> theList) {
for (int i = 0; i < theList.size(); i++) {
System.out.println(theList.get(i));
}
}
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) {
System.out.println("You have selected: " + list.getSelectedValue());
}
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
/**
public void paint(Graphics g) {
}**/
}
怎么了? 谢谢。
这里有两个问题在起作用:
java.awt.List没有使用Object []的构造函数:
list = new List();
for (String item : arr) {
list.add(item);
}
java.awt.List具有getSelectedItem()而不是getSelectedValue() :
您可以将带有List的ArrayList如下所示:
public void mouseReleased(MouseEvent e) {
Object index = list.getSelectedItem();
System.out.println("You have selected: " + index);
}
根据java.awt.List
的API文档 ,没有公共构造函数接受数组(代码中的第29行)。 您可以使用no参数构造函数,并使用add()
方法一一添加项。
此外,在第50行的方法名称中有一个错字:是getSelectedItem()
,而不是getSelectedValue()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.