Java - 如何将元素添加到其他两个之间的DefaultListModel?
问题描述:
这里是:Java - 如何将元素添加到其他两个之间的DefaultListModel?
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的名称添加到我的列表中的新元素。但是有了这个,如果我们希望这个过程更加“动态”,那么我们就有一个微妙的问题:
它总是将新元素添加到列表的END中,忽略选择。我如何根据已经选择的元素添加一个新元素?我想这涉及到DefaultListModel的元素索引。
Element 1
Element 2
Element 3
让我们假设选择了“元素2”。当我点击“btnInsertL”时,我希望第四个元素位于元素2和元素3之间。
嗯,我认为这个问题不是没用,我希望它也能帮助别人。我非常感谢你的关注。
答
检查DefaultListModel.add(int, E)
和使用动作事件的getSource()
方法来查看选中了哪个按钮。
答
得益于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-28 23:50:08