У меня есть два соответствующих класса: SpaceInvadersApp и HighScoreTableModel
Мне нужно добавить новое частное поле в класс SpaceInvadersApp типа HighScoreTableModel и инициализировать это поле в начале конструктора SpaceInvadersApp.
Это моя попытка, я думаю, что я не делаю это правильно.
public class SpaceInvadersApp extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private final GamePanel game;
private HighScoreTableModel highScoreTableModel; // unsure about this
final private JMenuItem menuItemGamePause;
/**
* Create new Space Invaders application.
* @throws HeadlessException
*/
public SpaceInvadersApp() throws HeadlessException {
highScoreTableModel = new HighScoreTableModel("Name", "Score"); //unsure about this
Сохраняет соответствующий код из класса HighScoreTableModel
package spaceinvaders.highscores;
import java.util.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class HighScoreTableModel implements TableModel {
private List<String> col1StringList = new ArrayList<String>();
private List<Integer> col2IntegerList = new ArrayList<Integer>();
private String col1Name, col2Name;
private List<TableModelListener> listenerList = new ArrayList<TableModelListener>();
public HighScoreTableModel(String col1Name, String col2Name) {
this.col1Name = col1Name;
this.col2Name = col2Name;
Рассмотрите возможность просмотра пакетов этих классов, необходимость в том же пакете или импортировании.
Другая деталь - это переменная menuItemGamePause
, ее нужно инициализировать, поскольку она является final
.
final private JMenuItem menuItemGamePause = new JMenuItem();