我有JList一个DefaultListModel.
如何在JList双击事件的反应中制作一个项目?
我在gui中有一个jList,我可以使用Add按钮添加一些数据.我想添加另一个名为Clear的按钮,它将清除所有元素.我试过这个:
private void jButtonClearActionPerfomed(java.awt.event.ActionEvent evt)
{
DefaultListModel listmodel=new DefaultListModel();
jList1 = new JList(listmodel);
if(evt.getSource()==jButtonClear) JList.setListData(new String[0];
else listmodel.removeAllElements();
}
Run Code Online (Sandbox Code Playgroud)
当我点击"添加"按钮时,这将添加元素.
当我单击"清除"按钮时,删除元素.
但是当我重新点击"添加"按钮时,没有任何内容 jList1
我有一个使用DefaultListModel的jList,我使用从列表中获取的对象填充它(上下文:对象是ABM系统中的一种代理).
是否可以更改为jList中的对象显示的名称?我一直没能找到任何东西......
我正在尝试在使用以下代码时添加ArrayList一个JList正在工作的项目:
private void UpdateJList(){
DefaultListModel<String> model = new DefaultListModel<String>();
for(Person p : personList){
model.addElement(p.ToString());
}
clientJList.setModel(model);
clientJList.setSelectedIndex(0);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我声明DefaultListModel方法的外部,添加增加每个项目,IE而不是添加每个项目之一,它添加多个项目.我只是想知道为什么会这样?
我有一个使用DefaultListModel的JList.
然后我将值添加到模型中,然后出现在JList中.我创建了一个MouseListener(双击时)允许用户编辑他们选择的那个人的当前用户号.
我已经检查过该记录的实际对象正在被更改,它是.我遇到的唯一问题是让实际的Jlist更新以显示该对象的新值.
我当前代码的片段是:
创建JList和DefaultTableModel:
m = new DefaultListModel();
m.addListDataListener(this);
jl = new JList(m);
jl.addMouseListener(this);
Run Code Online (Sandbox Code Playgroud)
更新对象:
String sEditedNumber = JOptionPane.showInputDialog(this, "Edit number for " + name, number);
if (sEditedNumber != null) {
directory.update (name, sEditedNumber);
}
Run Code Online (Sandbox Code Playgroud)
并且(当jl是JList而m是DefaultTableModel时):
public void contentsChanged(ListDataEvent arg0) {
jl.setModel(m);
}
Run Code Online (Sandbox Code Playgroud) 什么是DefaultListModelJava?它的目的是什么?我试图谷歌它但没有得到任何正确的解释!
我有一个成分类
public class Ingredient {
String NameP;
List ListS;
String Desc;
List ListT;
...
Run Code Online (Sandbox Code Playgroud)
此类的多个实例存储在"对象"列表中.我也有一个
javax.swing.JList ListIng;
Run Code Online (Sandbox Code Playgroud)
随着它的模型设置为
ListIngModel = new DefaultListModel();
Run Code Online (Sandbox Code Playgroud)
我们的想法是使用Jlist显示所有对象的字段"NameP",选择其中一个进一步检查,然后抓取所选对象:
Ingredient Selected = ListIngModel.get(ListIng.getSelectedIndex())
Run Code Online (Sandbox Code Playgroud)
我可以在列表模型中加载对象,但然后JList显示那些对象的地址.是否有一种优雅的方式使它显示它存储的对象的属性?
我有一个包含客户名称的对象数组,如下所示: Customers[]
按下按钮后如何自动将这些元素添加到现有的JList中?我尝试过这样的事情:
for (int i=0;i<Customers.length;i++)
{
jList1.add(Customers[i].getName());
}
Run Code Online (Sandbox Code Playgroud)
但我总是犯错误.我怎么解决这个问题?我正在研究NetBeans. 出现的错误是"找不到适合添加的方法(字符串).顺便说一下,我的方法getName返回字符串中客户的名称.
我有一个包含数据的简单Jlist List<String>,现在我想从Jlist中删除所选项目.这是代码:
final DefaultListModel<String> model = new DefaultListModel();
final JList list = new JList(model);
//filling list
//loop for every element from List<String>
public static void sample(DefaultListModel model, List<String> data)
for(int i=;i<data.size();i++)
{model.addElement(data.get(i));}
//btn pressed
public void actionPerformed(ActionEvent arg0) {
int index = list.getSelectedIndex();
model.removeElementAt(index);
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at javax.swing.JList.fireSelectionValueChanged(Unknown Source)
at javax.swing.JList$ListSelectionHandler.valueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
at javax.swing.DefaultListSelectionModel.removeIndexInterval(Unknown Source)
at javax.swing.plaf.basic.BasicListUI$Handler.intervalRemoved(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JList/DefaultListModel创建一个列表,该列表在其自身内部保存数据.
这是我的问题.
DefaultListModel my_docs = new DefaultListModel();
JList my_jlist = new JList(my_docs);
// From here, I add elements to my_docs..
my_docs.addElement("Document 1");
my_docs.addElement("Document 2");
my_docs.addElement("Document 3");
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能在元素中保存每个文档的文本(平均大约4,000个字节),而不是在点击之前分配给另一个变量?
例如,如果我单击列表中的文档2,则文档的文本将分配给变量.如果我点击列表中的文档1,它将执行相同的操作.
很抱歉用这么少的信息询问这个,我只是不知道从哪里开始.