私は今日この問題を抱えており、解決方法がわかりません。私が見落としているのはおそらくばかげたことだとわかっていますが、すでに何時間も経っています....だから、
JPanelを拡張するクラスがあります。内部には、jlist を含むスクロールペインしかありません。このクラスは、JList への入力に使用する List を受け取ります。リストには、私のプログラム クラスの 1 つである "Orcamento" がいくつか含まれています。クラスには .toString メソッドがあります。モデルを使用して、.toArray を使用してリストから直接 JList を作成してみました。List を ArrayList に変換して、同じことを試みました。DefaultListModel と DefaultListModel を使ってみました。
これで私を助けてくれることを願っています。
ここにいくつかのコードがあります: JPanel
package Views;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JPanel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import Models.Orcamento;
import javax.swing.ListSelectionModel;
import javax.swing.AbstractListModel;
public class OrcamentoView extends JPanel {
private JList lista;
private DefaultListModel modelo;
/**
* Create the panel.
*/
public OrcamentoView(List<Orcamento> lst) {
setBounds(0, 21, 434, 241);
setLayout(null);
ArrayList<Orcamento> orcs= new ArrayList(lst);
DefaultListModel<String> modelo = new DefaultListModel<String>();
for(Orcamento o:orcs)
modelo.addElement(o.toString());
lista = new JList();
lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lista.setModel(modelo);
JScrollPane scrollPane = new JScrollPane(lista);
scrollPane.setBounds(10, 11, 414, 219);
add(scrollPane);
}
}
JPanel を完成させた後、次のことを行います。
public void setContent(JPanel menu, JPanel content){
contentPane.removeAll();
contentPane.add(menu);
contentPane.add(content);
contentPane.repaint();
}
パネルをJFrameに追加します(他の多くのパネルで行ってきました)。