Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使此JOptionPane使用JScrollBar垂直加载此大型arrayList_Java_Arraylist - Fatal编程技术网

Java 如何使此JOptionPane使用JScrollBar垂直加载此大型arrayList

Java 如何使此JOptionPane使用JScrollBar垂直加载此大型arrayList,java,arraylist,Java,Arraylist,如何使用JScrollBar使JOptionPane列表最多包含100项,我知道这是可以做到的。我需要一点指导。 这是我的密码 public static ArrayList<String> Matches = new ArrayList<String>(); private void itemSearch(String name) { try{ String string; Buffered

如何使用JScrollBar使JOptionPane列表最多包含100项,我知道这是可以做到的。我需要一点指导。 这是我的密码

public static ArrayList<String>  Matches = new ArrayList<String>();
    private void itemSearch(String name) { 
        try{  
            String string;
            BufferedReader reader = new BufferedReader(new FileReader("items.txt"));
            while((string = reader.readLine()) != null) { 
                String[] args = string.split("  "); 

        for(int i = 0; i <= 19461; i++) { 
            if(args[i].contains(name)) {  
                itemID = Integer.parseInt(args[i-1]);
                itemSearched = name;
                Matches.add("Name: "+name+", ID: "+itemID+"");
                System.out.println("Item name:"+args[i]+" Item ID:"+itemID+"");

                } 
            }
            if(Matches.size()<=1) {
                continue;
                } else {
                JOptionPane.showMessageDialog(null, Matches);

                }
            AMItemDatabaseLabel3.setText(""+itemID+"");
            } 
            } catch(Exception r) {
                 r.printStackTrace();
               }
            }

查看上的Swing教程中的部分

如果可能性数量大于20,则将使用JList显示值


因此,您需要使用数组,而不是包含项目的ArrayList。因此,根据您当前的代码,您需要将项目从ArrayList复制到ArrayList。

尽管我非常感谢您的评论,但我仍然需要关于创建JScrollBar的帮助。你能帮我吗?我仍然需要关于创建JScrollBar的帮助-你是否先尝试了这个建议?所以我更改了这个公共静态ArrayList Matches=new ArrayList;要公开静态数组匹配项=新数组@CammyBoy,这不是创建数组的方式。我说您需要将数据从ArrayList复制到数组中。您可以使用ArrayList的toArray方法来执行此操作。