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

查找JList的选定项目并实时显示

林辰钊
2023-03-14
问题内容

我有一个JList,我正在显示一些ID。我想捕获用户单击的ID并将其显示在上JLabel

String selected = jlist.getSelectedItem().toString();

上面的代码为我提供了选定的JList值。但是此代码必须放置在button事件中,当我单击按钮时,它将获得JList值并将其分配给JLabel

但是,我想做的是,只要用户单击其中的一项以实时JList更新JLabel。(无需单击按钮即可触发操作)


问题答案:

一个简单的示例如下所示,使用listselectionlistener

import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class JListDemo extends JFrame {

    public JListDemo() {

        setSize(new Dimension(300, 300));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        final JLabel label = new JLabel("Update");
        String[] data = { "one", "two", "three", "four" };
        final JList dataList = new JList(data);

        dataList.addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent arg0) {
                if (!arg0.getValueIsAdjusting()) {
                  label.setText(dataList.getSelectedValue().toString());
                }
            }
        });
        add(dataList);
        add(label);

        setVisible(true);

    }

    public static void main(String args[]) {
        new JListDemo();
    }

}


 类似资料:
  • 当用户点击按钮时,我试图从JList中删除选中的项目。 目前我有这样的东西: 当我单击按钮删除项目时,出现以下错误: 如何修复此错误,以及我的代码是否删除了多个项目?

  • 问题内容: 谁能告诉我从我删除所选项目的简便方法? 我在Google和此处进行了搜索,但发现了很多方法。我应该使用哪种方式? 问题答案: 正如@Andreas_D所说,以数据为中心,更抽象的ListModel是解决方案。这可以是DefaultListModel。您应该在JList中显式设置模型。所以(感谢@kleopatra发表评论): DefaultListModel中有几种方法。 顺便说一句,

  • 我有两节课。包含标题、作者和ISBN的Book类。第二个类是名为Library的驱动程序类。 GUI包含一个jlist和3个文本字段。jlist是Book类(标题、作者、isbn)项的arraylist。当从jlist中选择一个项目时,文本字段显示项目的标题、作者和isbn。 *Jlist项包含:第1册、第2册、第3册,所以如果我选择第1册,它将显示《哈利波特与火焰杯》,J.K。罗琳,243255

  • 为了在JList中的项目旁边获得图标,我按照教程创建了一个基本类来存储我的JList项目。然后我使用这个类作为我的listmodel来打印每个项目的图标和文本。 Im还使用getListCellRendererComponent来打印文本和图标。 我的ListItem类如下所示: 例如元素1、元素2 我想看看所有的项目,并改变名称和图标…

  • 我正在用TreeView和用户控件让自己陷入困境;我是WPF的新手,所以请提前道歉。 提要 我有我的TreeView项目的VM类的集合。因此,TreeView绑定到[父]VM实例的集合,每个实例都有一个[子]ren的集合,每个[子]都有其他数据和其他集合(我不会让你厌烦)。 TreeView位于窗体的左侧,在右侧,我有一个用户控件,该控件只能根据所选的TreeViewItem类型可见。 因此,如果

  • 我试图使用一对剑道下拉列表来过滤AngularJS中的数据集。其中一个数据源使用静态可观察数组按状态筛选数据集;另一个数据源是数据集的“区域ID”列的一组不同值,也存储为可观察数组。当状态下拉列表更改时,区域下拉列表应该从新过滤的数据中重新加载区域列表。这是可行的,但是选定的值最终会被忽略,即使应该代表选定值的模型仍然具有正确的值,并且数据仍然被相同的值正确过滤。打开下拉列表,然后单击它,使其按应