簡體   English   中英

Java-如何在其他兩個之間將元素添加到DefaultListModel?

[英]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)

檢查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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM