用按钮怎样把JList里面的一项删除? 同上 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 新建一类继承抽象类AbstractListModel,实现getSize()和getElementAt(int index)方法,并自己再写一个removeIndex(int index)方法来实现删除。给按钮添加一个ActionListener,在事件处理中删除JList的某行。 import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Vector;public class Test { private JFrame frame = null; private JButton button = null; private JList list = null; private DataModel data = null; public Test() { frame = new JFrame("Test"); button = new JButton("删除"); String [] str = {"1", "2", "3", "4", "5", "6"}; data = new DataModel(str); list = new JList(data); list.setDragEnabled(true); frame.getContentPane().add(list); frame.getContentPane().add(button, BorderLayout.NORTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); frame.setVisible(true); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { int index = list.getSelectedIndex(); System.out.println(index); if(index == -1 || index >= data.getSize()) return; data.removeIndex(index); list.updateUI(); }}); } public static void main(String[] args) { new Test(); }}class DataModel extends AbstractListModel{ private Vector data = null; public DataModel(Object [] listData){ data = new Vector(); for(int i = 0; i < listData.length; i++){ data.add(listData[i]); } } public void addData(Object o){ data.add(o); } public void removeIndex(int index){ data.remove(index); } public int getSize() { return data.size(); } public Object getElementAt(int index) { return data.get(index); }} 你先将JList与一个ListModel相关联,然后获得要删除的一项的index, 再使用listmodel的remove(int index)便可将其删除 一个快速排序的小程序,求解错误! 关于eclipse的代码折叠 基于校园网短信平台开发应如何入门 HashMap可以这样用吗? for 循环 效率 问题 救助,怎样判断一个文件的大小? 如何给jar文件加密? 递归调用时随机数异常,是不是bug? 操作excel表格,poi与jxl哪个更好 我添加 的控件怎么显示不了,请帮我看看这段程序吧: 请问如何用鼠标右键选中JList中的Item 使用exe4j的问题(急)
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;public class Test {
private JFrame frame = null;
private JButton button = null;
private JList list = null;
private DataModel data = null; public Test() {
frame = new JFrame("Test");
button = new JButton("删除");
String [] str = {"1", "2", "3", "4", "5", "6"};
data = new DataModel(str);
list = new JList(data);
list.setDragEnabled(true);
frame.getContentPane().add(list);
frame.getContentPane().add(button, BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
int index = list.getSelectedIndex();
System.out.println(index);
if(index == -1 || index >= data.getSize())
return;
data.removeIndex(index);
list.updateUI();
}});
}
public static void main(String[] args) {
new Test();
}
}class DataModel extends AbstractListModel{
private Vector data = null;
public DataModel(Object [] listData){
data = new Vector();
for(int i = 0; i < listData.length; i++){
data.add(listData[i]);
}
}
public void addData(Object o){
data.add(o);
}
public void removeIndex(int index){
data.remove(index);
}
public int getSize() {
return data.size();
}
public Object getElementAt(int index) {
return data.get(index);
}
}
你先将JList与一个ListModel相关联,然后获得要删除的一项的index, 再使用listmodel的
remove(int index)便可将其删除