嗨,我必须从一个JList中选择一个元素,将其从第一个元素中删除。我创建的方法仅插入一个元素,覆盖最后一个元素,并且不会从第一个JList中删除所选项目。这是代码:
第一名单
private javax.swing.JList listaRosa;
通过此方法填充:
private void visualizzaRosaButtonvisualizzaRosa(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
visualizzaSquadraSelezionata();
String fileSquadra;
fileSquadra = squadraDaVisualizzare.getText();
DefaultListModel listModel = new DefaultListModel();
try {
FileInputStream fstream = new FileInputStream("C:/Users/Franky/Documents/NetBeansProjects/JavaApplication5/src/javaapplication5/Rose/"+fileSquadra+"");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
listModel.addElement(strLine);
System.out.println(strLine);
}
listaRosa.setModel(listModel);
//Close the input stream
in.close();
} catch (Exception e) {
}
第二个列表,我要在其中插入从第一个列表中删除的项目:
private javax.swing.JList listaTitolari
这是无效代码:
private void aggiungiTitolareButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DefaultListModel listModel = new DefaultListModel();
String daInserire;
listModel.addElement(listaRosa.getSelectedValue());
listModel.removeElement(listaRosa.getSelectedValue());
listaTitolari.setModel(listModel);
}
谢谢
问题是
listModel.addElement(listaRosa.getSelectedValue());
listModel.removeElement(listaRosa.getSelectedValue());
您可能要添加一个元素并立即将其删除,因为添加和删除操作都在同一listModel上。
尝试
private void aggiungiTitolareButtonActionPerformed(java.awt.event.ActionEvent evt) {
DefaultListModel lm2 = (DefaultListModel) listaTitolari.getModel();
DefaultListModel lm1 = (DefaultListModel) listaRosa.getModel();
if(lm2 == null)
{
lm2 = new DefaultListModel();
listaTitolari.setModel(lm2);
}
lm2.addElement(listaTitolari.getSelectedValue());
lm1.removeElement(listaTitolari.getSelectedValue());
}
问题内容: 谁能告诉我从我删除所选项目的简便方法? 我在Google和此处进行了搜索,但发现了很多方法。我应该使用哪种方式? 问题答案: 正如@Andreas_D所说,以数据为中心,更抽象的ListModel是解决方案。这可以是DefaultListModel。您应该在JList中显式设置模型。所以(感谢@kleopatra发表评论): DefaultListModel中有几种方法。 顺便说一句,
问题内容: 我有填充我的JList的方法,有没有一种方法可以添加JList中的每个项目? 问题答案: 您可以重写JList的getToolTipText(..)方法。 我相信您也可以使用自定义渲染器来调用setToolTipText(…)方法。
问题内容: 所以,我想要的是选择一个项目时要运行的另一段代码。但是我的问题是,如何对特定项目实施? 这是我的代码: 我该怎么做才能添加到“车辆”,“自行车/自行车”,“船”,“房屋”,“企业”,“对象”,“工作”,“等级”和“许可证”项中? 问题答案: 如果您希望在选择更改时发生某些事情,则不希望使用MouseListener,而希望使用。它不仅是正确的抽象,而且请记住,不使用鼠标就可以更改选择。
如何在项目之间添加空格?有办法吗? 在这个图像上,白色是背景,黄色是JList的自定义,我希望每个项目都有一个像5像素的空间。 http://img819.imageshack.us/img819/5772/spacemd.png
当用户点击按钮时,我试图从JList中删除选中的项目。 目前我有这样的东西: 当我单击按钮删除项目时,出现以下错误: 如何修复此错误,以及我的代码是否删除了多个项目?