![](/img/trans.png)
[英]How to add Listener or double clicks element in DefaultListModel to open a new Jframe?
[英]Java - How to add an element to a DefaultListModel between other two?
就這個:
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之間。
好吧,我認為這個問題並不是沒有用,我希望它也能對某人有所幫助。 我非常感謝大家的關注。
您檢查了JavaDocs,對嗎?
檢查DefaultListModel.add(int, E)
並使用ActionEvent的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);
}
}
});
問題大於解決! :)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.