[英]Moving a String from one JList To Another
我不知道如何將字符串從一個JList轉移到另一個。 還有一個主要的類,但是僅創建JFrame來啟用按鈕。 我嘗試做rightList.setListData(leftList.getSelectedValues
但它划掉了getSelectedValues
package multiList;
import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.*;
public class Gui extends JFrame {
private JList leftList;
private JList rightList;
private JButton moveButton;
private static String[] food = {"Pizza", "Spagetiti", "Mac and Cheese", "Cheese", "MorePizza"};
public Gui() {
super("title");
setLayout(new FlowLayout());
leftList = new JList(food);
leftList.setVisibleRowCount(3);
leftList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
add(new JScrollPane(leftList));
moveButton = new JButton("Move ---->");
moveButton.addActionListener(
new ActionListener() {
@SuppressWarnings("deprecation")
public void ActionPreformed(ActionEvent event) {
rightList.setListData(leftList.getSelectedValues());
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
);
add(moveButton);
rightList = new JList();
rightList.setVisibleRowCount(3);
rightList.setFixedCellWidth(100);
rightList.setFixedCellHeight(15);
rightList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
add(new JScrollPane(rightList));
}
}
這應該工作:
DefaultListModel model = (DefaultListModel) leftList.getModel();
DefaultListModel list2Model = new DefaultListModel();
int[] selected = leftList.getSelectedIndices();
for (int i = 0; i < selected.length; i++) {
list2Model.addElement(model.elementAt(i));
}
rightList.setModel(list2Model);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.