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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在java swing中从ListSelectionEvents中提取字符串?相关的知识,希望对你有一定的参考价值。

我在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]

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

答案
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 swing中从ListSelectionEvents中提取字符串?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以更改 Java Swing jList 中项目的名称*显示*?

是否可以使用 Java 中的基本 Swing 组件创建可选择的超链接?

java中SWT是否已经过时了,没有swing好用哦?

是否可以使用 JavaFX 和 Swing 制作具有视觉吸引力的 GUI?

java 做桌面程序 都有哪些好的框架 是否都是封装java swing 的??

Java Swing通过拖动滚动JScrollPane