こんにちは、JListから別の要素を選択し、最初の要素から削除する必要があります。作成したメソッドは要素を1つだけ挿入し、最後の要素を上書きし、選択した項目を最初の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) {
}
最初のリストから削除するアイテムを挿入する2番目のリスト:
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());
}
JLISTをクリアする最善かつ最も簡単な方法は、次のとおりです。
myJlist.setListData(new String[0]);