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

问题描述 投票:0回答:1

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

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]

此输出中的任何内容都不是指列表中选定的字符串。我也找不到任何有用的方法。是否有可能按照我描述的方式提取字符串?

java swing listselectionlistener
1个回答
1
投票
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);
            }
        }
    }
});

有用的网址:

© www.soinside.com 2019 - 2024. All rights reserved.