java - 是否可以在java swing中从ListSelectionEvents中提取字符串?

标签 java swing listselectionlistener

我在 java swing 中使用字符串的 JList。我想要一个 ListSelectionListener,它返回用户选择的 Listentry 的字符串。但我无法到达字符串本身。我唯一能找到的东西

private void registerListeners()
{
    gui.getListMeasurements().addListSelectionListener(new ListSelectionListener()
    {

        @Override
        public void valueChanged(ListSelectionEvent event)
        {
            System.out.println(event.getSource());

        }
    });
}

输出以下4次:javax.swing.JList[,0,0,240x340,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1, fixedCellWidth=-1,horizo​​ntalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b =51],visibleRowCount=8,layoutOrientation=0]

此输出中没有任何内容涉及列表中选择的字符串。我也找不到该事件的任何有用的方法。 是否可以按照我描述的方式提取字符串?

最佳答案

gui.getListMeasurements().addListSelectionListener(new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent e) {
        if (e.getValueIsAdjusting()) {
            return;
        }
        if (e.getSource() instanceof JList) {
            JList list = (JList) e.getSource();
            int index = list.getSelectedIndex();
            Object element = list.getModel().getElementAt(index);
            if (element instanceof String) {
                System.out.println("Selected value at " + index + " = " + element);
            }
        }
    }
});

有用的链接:

关于java - 是否可以在java swing中从ListSelectionEvents中提取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041197/

相关文章:

java - 限制 JTable 中的行选择

java - 客户端服务器应用程序不工作

java - 选择项目 0 后 JList 反复更新 defaultlistmodel

java - C#语言等同于ScheduledExecutorService

java - JPanel inside JScrollPane 绘画问题

java - 尝试让 ActionListener 工作但出现错误

java - 在 panel.setInvisible 之后设置 JTextField 值不会更新值

java - Swing:JList 选择卡在列表项上

java - Resilience4j 强制打开断路器属性

java - 如何在java selenium中根据样式属性进行点击