У меня возникли трудности с пониманием того, как создать метод копирования для пользовательского модельера. Моя цель такова: у меня есть arraylist, который показывает, сколько объектов в нем. Я создал другой список для обслуживания временного действия. В принципе, у меня есть две таблицы. Первая таблица - все мои доступные предметы. Моя вторая таблица будет содержать объекты, которые я добавляю к ней для этого временного действия, в этом случае я имитирую совпадение. По завершении моделирования я могу либо добавить, либо удалить тот объект, который мне нужен. То, что у меня нет в результате наличия пользовательского списка моделей, - это методы удаления индекса из этого временного списка. Я добавил следующий код и спасибо за помощь :)Как создать собственный метод копирования для произвольной модели arraylist?
addPlayerMatch.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
ArrayList<Human> testDM = new ArrayList<Human>();
try {
testDM.addHuman((//selected Index from first list////.getModel(//this method don't work//));
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
});
Вот моя модель по умолчанию:
public class HumanListModel extends DefaultListModel implements TableModel{
private ArrayList<Human> data;
public HumanListModel()
{
super();
data = new ArrayList<Human>();
}
public void addHuman(Human h)
{
// add new human to the model
data.add(h);
}
public void removeHuman(Human h)
{
data.remove(h);
}
public int getColumnCount()
{
// the number of columns you want to display
return 1;
}
public int getRowCount()
{
return data.size();
}
public Object getValueAt(int row, int col)
{
return (row < data.size()) ? data.get(row) : null;
}
public String getColumnName(int col)
{
return "Human";
}
public Class getColumnClass(int col)
{
return Human.class;
}
public void addTableModelListener(TableModelListener arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean isCellEditable(int arg0, int arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public void removeTableModelListener(TableModelListener arg0) {
// TODO Auto-generated method stub
}
@Override
public void setValueAt(Object arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
'testDM.addHuman (modelx.getModel (// * этот метод не работает * //));' Конечно, нет, 'modelx' еще не объявлен! – Runemoro
OH жаль, что это было похоже на тест, который я запускал – Iron
Копировать, вы имеете в виду сделать его дубликат? – Runemoro