1

就这个:

btnInsertL.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            String textField1Content = textField1.getText();
            if (textField1.getText().contains("Nova Categoria")) {
            } else {
                modelL.addElement(textField1Content);
            }
        }
    });

显然,当我单击此“btnInsertL”时,它会根据 textField1 的名称将一个新元素添加到我的列表中。但是有了这个,如果我们想让这个过程更加“动态”,我们就会遇到一个微妙的问题:

它总是将新元素添加到列表的末尾,而忽略选择。如何根据已经选择的元素添加新元素?我想这涉及 DefaultListModel 的元素索引。

Element 1
Element 2
Element 3

让我们假设选择了“元素 2”。当我单击“btnInsertL”时,我希望第四个元素位于元素 2 和元素 3 之间。

好吧,我认为这个问题并不是那么无用,我希望它也对某人有所帮助。非常感谢大家的关注。

4

3 回答 3

3

您检查了 JavaDocs 对吗?

看一眼DefaultListModel.add(int, E)

于 2013-04-28T23:45:24.133 回答
1

检查DefaultListModel.add(int, E)并使用getSource()ActionEvent 的方法来查看选择了哪个按钮。

于 2013-04-28T23:50:04.443 回答
1

感谢 MadProgrammer,我找到了答案:

btnInsertL.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            String textField1Content = textField1.getText();
            if (textField1.getText().contains("Nova Categoria")) {
            } else {
                modelL.add(listL.getSelectedIndex() + 1,textField1Content);
            }
        }
    });

问题多于解决!:)。

于 2013-04-28T23:51:19.847 回答