Я работаю над небольшой программой, которая должна отображать рецепты в JTable
. Все, кажется, работает нормально, единственная проблема, с которой я столкнулся, это то, что я не могу инициализировать объект, который должен правильно хранить данные. Вот класс, который дает мне головную боль:Инициатива объекта в AbstractTableModel
class RecipeTableModel extends AbstractTableModel {
private String[] columnNames = {"Number", "Name", "Difficulty",
"Preparation", "PreparationTime", "Quantity", "Incredients"};
Recipe recipe1 = new Recipe("1", "SecretRecipe", "easy", "microwave", "20min", "100gr", "flour");
Recipe recipe2 = new Recipe("2", "SuperRecipe", "medium", "microwave", "30min", "100gr", "Salt");
**RecipeDB recipeDB = new RecipeDB();
recipeDB.addRecipe (Recipe recipe1);**
@Override
public int getColumnCount() {
return 7;
}
public int getRowCount() {
//return recipeDB.getRecipeDBSize();
return 15;
}
@Override
public Object getValueAt(int row, int col) {
/* Recipe recipe = recipeDB.getRecipe(row);
switch (col){
case 0:
return recipe.getNumber();
case 1:
return recipe.getName();
case 2:
return recipe.getPrep();
case 3:
return recipe.getPrepTime();
case 4:
return recipe.getDifficulty();
case 5:
return recipe.getIngredients();
}
*/
return null;
}
public String getColumnName(int column) {
return columnNames[column];
}
}
Я получаю синтаксическую ошибку, когда я пытаюсь добавить к recipeDB
рецептов; и когда я отлаживаю, я вижу, что recipeDB
инициализируется значением null
. Как это возможно?
Вот мой другой класс:
ошибкаimport java.util.ArrayList;
public class RecipeDB {
public ArrayList<Recipe> recipeArraylist;
public RecipeDB() {
recipeArraylist = new ArrayList<Recipe>();
}
public void addRecipe(Recipe recipe) {
recipeArraylist.add(recipe);
}
public int getRecipeDBSize() {
return recipeArraylist.size();
}
public Recipe getRecipe(int i) {
return recipeArraylist.get(i);
}
public ArrayList getDBArrayList() {
return recipeArraylist;
}
}
Привет trashgod- массивного спасибо за помощь в этом! – ALMA