当前位置: 首页 > 面试题库 >

java将数组刷新到jList

陶烨赫
2023-03-14
问题内容

OK,所以我有一个JList,并且内容提供了一个数组。我知道如何向数组中添加元素,但是我想知道如何刷新JList
…还是有可能?我尝试了Google。:\

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class bs extends JApplet implements MouseListener {

public static String newline;
public static JList list;

    public void init() {



             String[] data = {"one", "two", "three", "four"};
              list = new JList(data);



        this.getContentPane().add(list);

        list.addMouseListener(this);

        String newline = "\n";

        list.setVisible(true);

    }

    public void refresh(){
        Address found;
        this.listModel.clear();

        int numItems = this.getAddressBookSize();
        String[] a = new String[numItems];
        for (int i=0;i<numItems;i++){
            found = (Address)Addresses.get(i);
            a[i] = found.getName();
        }
        /* attempt to sort the array */
        Arrays.sort(a, String.CASE_INSENSITIVE_ORDER);
        for (int i=0;i<numItems;i++) {
            this.listModel.addElement(a[i]);
        }
    }



    public void mousePressed(MouseEvent e) { }

    public void mouseReleased(MouseEvent e) {
        Object index = list.getSelectedValue();
       System.out.println("You clicked on: " + index);
    }

    public void mouseEntered(MouseEvent e) { }

    public void mouseExited(MouseEvent e) { }

    public void mouseClicked(MouseEvent e) { }




    public void paint(Graphics g) {

    }
}

有任何想法吗?

谢谢。


问题答案:

一种好的方法是创建一个ListModel来为您管理数据并处理更新。

就像是:

DefaultListModel listModel=new DefaultListModel();
for (int i=0; i<data.length; i++) {
  listModel.addElement(data[i]);
}
list=new JList(listModel);

然后,您可以简单地通过列表模型进行更改,例如

listModel.addElement("New item");
listModel.removeElementAt(1); // remove the element at position 1


 类似资料:
  • 我正在尝试实现 J 选项卡面板。在下面的代码中,我提出了一个与我想要实现的非常相似的案例。我通过将JPanel添加到J选项卡面板来创建了一个选项卡。我已经在JPanel中添加了一个J巴顿和JScrollPane。在单击 J 按钮时,我想添加一个新的 JPanel,其中包含一些 JRadio 按钮到 JScrollPane 中。但是,即使在刷新 JScrollPane 或主 JPanel 之后,这些

  • 本文向大家介绍Java中合并数组到新对象数组,包括了Java中合并数组到新对象数组的使用技巧和注意事项,需要的朋友参考一下 以下是在Java中,将数组合并为新对象数组的Java程序- 示例 输出结果 名为Demo的类包含“ concat_fun”,该类接受两个对象并返回连接的对象作为输出。在主字符串中,创建两个整数对象,第三个对象用于存储合并后的对象。相关消息显示在控制台上。

  • 例如,如果您单击 2 链接,是否有可能有一个框架,其中该框架中的新面板刷新到下一个面板。 有没有简单的代码? 下图更好地说明了这一点。

  • 如何将2d数组复制到新的更大的数组中,以便在新数组中添加更多项目,同时仍然具有原始数据?我的代码使越界失败 - 我的错误是什么?我试图说复制数组应该是原始数组.length x - 但不起作用。 导入Java . util . scanner;//将扫描仪导入程序 公共类TestTest{ }

  • 问题内容: 如果将新文档索引到Elasticsearch索引,则可在索引操作后1秒钟左右搜索新文档。但是,可以通过调用或对索引进行操作来强制使该文档可立即搜索。这两个操作之间有什么区别- 结果似乎对他们来说是相同的,可以立即搜索文档。 这些操作中的每一项到底是什么? ES文档似乎并未深入解决此问题。 问题答案: 您得到的答案是正确的,但我认为值得详细说明。 刷新有效地调用了Lucene索引读取器上