Java的找不到符号列表 [英] Java cannot find symbol in List

查看:418
本文介绍了Java的找不到符号列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

行,所以我从JList中切换到列表中,因为

1)。它不重叠我的绘制的图像
2),它可以有重点禁用跟踪没有什么选择

总之,这里是我得到的错误,当我尝试编译:

  C:\\用户\\丹\\文档\\ DanJavaGen \\ inventory.java:30:找不到符号
符号:构造函数列表(的java.lang.Object [])
位置:类java.awt.List
        名单=新名单(arr.toArray());
               ^
C:\\用户\\丹\\文档\\ DanJavaGen \\ inventory.java:50:找不到符号
符号:方法getSelectedValue()
位置:类java.awt.List
        对象索引= list.getSelectedValue();
                           ^

在code:

 进口java.applet.Applet中;
进口java.awt中的*。
进口的javax.swing *。
java.awt.event中导入*。
进口的java.util.ArrayList;
进口java.io. *;
进口的java.util。*;
进口java.awt.List中;公共类库存扩展JApplet的实现的MouseListener {公共静态字符串换行;
公共静态列表清单;
INT金= 123;    公共无效的init(){ArrayList的<串GT; ARR =新的ArrayList<串GT;();
arr.add(打手);
arr.add(亮剑);
arr.add(盾);
arr.add(金+金牌服务);
的System.out.println(你+ arr.size()+的项目在您的库存。);
showInventory(ARR);        名单=新名单(arr.toArray());        添加(列表);        list.addMouseListener(本);        list.setVisible(真);    }公共静态无效showInventory(ArrayList的<串GT;的thelist){
的for(int i = 0; I< theList.size();我++){
的System.out.println(theList.get(I));
}
}
    公共无效鼠标pressed(的MouseEvent E){}    公共无效的mouseReleased(的MouseEvent E){
        对象索引= list.getSelectedValue();
       的System.out.println(您已选择:+指数);
    }    公共无效的mouseEntered(的MouseEvent E){}    公共无效的mouseExited(的MouseEvent E){}    公共无效的mouseClicked(的MouseEvent E){}
    公共无效漆(图形G){    }
}


解决方案

有在这里打球两个问题:

java.awt.List中没有一个构造函数的对象[]

 列表=新名单();
对于(字符串项:ARR){
    list.add(项目);
}

java.awt.List中 getSelectedItem()不是 getSelectedValue()

您可以在你的ArrayList与名单如下:

 公共无效的mouseReleased(的MouseEvent E){
    对象索引= list.getSelectedItem();
    的System.out.println(您已选择:+指数);
}

OK so I switched from JList to List because

1.) It doesn't overlap my drawn images 2.) It can have focus disabled yet track what's selected

Anyway, here's the error I get when I try to compile:

C:\Users\Dan\Documents\DanJavaGen\inventory.java:30: cannot find symbol
symbol  : constructor List(java.lang.Object[])
location: class java.awt.List
        list = new List(arr.toArray());
               ^
C:\Users\Dan\Documents\DanJavaGen\inventory.java:50: cannot find symbol
symbol  : method getSelectedValue()
location: class java.awt.List
        Object index = list.getSelectedValue();
                           ^

The code:

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.io.*;
import java.util.*;
import java.awt.List;

public class inventory extends JApplet implements MouseListener {

public static String newline;
public static 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 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) {
        Object index = list.getSelectedValue();
       System.out.println("You have selected: " + index);
    }

    public void mouseEntered(MouseEvent e) { }

    public void mouseExited(MouseEvent e) { }

    public void mouseClicked(MouseEvent e) { }




    public void paint(Graphics g) {

    }
}

解决方案

There are two issues at play here:

java.awt.List does not have a constructor that takes Object[]:

list = new List();
for (String item : arr) {
    list.add(item);
}

java.awt.List has getSelectedItem() not getSelectedValue():

You could your ArrayList with List as follows:

public void mouseReleased(MouseEvent e) {
    Object index = list.getSelectedItem();
    System.out.println("You have selected: " + index);
}

这篇关于Java的找不到符号列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆