就是这样:
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”时,我希望FOURTH元素在元素2和元素3之间。
嗯,我认为这个问题不是没用,我希望它对某人也有帮助。我非常感谢你的关注。
答案 0 :(得分:3)
你检查过JavaDocs吗?
答案 1 :(得分:1)
检查DefaultListModel.add(int, E)
并使用ActionEvent的getSource()
方法查看选择了哪个按钮。
答案 2 :(得分: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);
}
}
});
问题不仅仅是解决了! :)